Bessel function differential equation



I am trying to solve the following diff eq:

x^2*diff(y,x,2)+x*diff(y,x)+(a^2*x^2-b^2)*y=0

which should lead to the following solution:

y=c1*bessel_j(b, a*x) + c2*bessel_y(b,a*x)

If I use ode2 to solve, I get the message "false", meaning it couldn't 
solve it, and if I use odelin or contrib_ode, I get the message

EVAL: too many arguments given to SRATSIMP: (SRATSIMP P X)
Automatically continuing.
To reenable the Lisp debugger set *debugger-hook* to nil.

However, if I ask ode2 to solve:

x^2*diff(y,x,2)+x*diff(y,x)+(x^2-1)*y=0

I get:

y=c1*bessel_j(1,x) + c2*bessel_y(1,x)

which is, of course, the correct solution.  Clearly, I am not doing 
something correctly with the constants a and b.  Might there be someone 
who could provide me with some insight?  Thank you all for your help!


Cheers,
Carl