[Asterisk-Dev] Fixing S100U driver for linux 2.6.x

Adam Goryachev mailinglists at websitemanagers.com.au
Mon Apr 4 21:49:39 MST 2005


It seems digium aren't interested in fixing the S100U driver for linux
2.6.x, so I thought I might have a crack at it, hopefully with some
assistance from this list... (Note, their answer was to use linux 2.4.x
which I assume would work, but I want to use linux 2.6.x because of the
extra features/drivers/etc).

Here is the start, which is a copy of my email to digium support:

I have an 'old' S100U that I am trying again to get working as a home
extension, and having problems at module load time.

I would appreciate any assistance you might be able to provide. So far,
I've made a few small changes to the wcusb.c file to get some extra
debug information:

Device slot 0 is free
wcusb: wc_detect_device
Second exit
Init Indirect Registers completed successfully.
DC Cal x=19
wcusb: Setting correct interfaces.
wcusb: Read submit failed, x=0, errno=-22
wcusb: Something went wrong when starting the transfer
cleanup
usbcore: registered new driver wcusb
Wildcard USB FXS Interface driver registered


Basically, it is failing at line 1486 (current CVS HEAD branch):
        for (x = 0; x < 2; x++) {
#ifdef LINUX26
                if ((mystatus = usb_submit_urb(&p->dataread[x].urb,
GFP_KERNEL)))
#else
                if (usb_submit_urb(&p->dataread[x].urb))
#endif
                {
                        printk(KERN_ERR "wcusb: Read submit failed, x=%
d, errno=%d\n", x, mystatus);
                        return -1;
                }

The line is:
if ((mystatus = usb_submit_urb(&p->dataread[x].urb, GFP_KERNEL)))

It seems to be returning EINVAL which is described as:
-EINVAL a) Invalid transfer type specified (or not supported)   b)
Invalid interrupt interval (0$<=$n$<$256)   c) More than one interrupt
packet requested at
http://wwwbode.cs.tum.edu/Par/arch/usb/usbdoc/node30.html

I don't really know much about kernel module development, nor USB, but I
thought I was doing pretty well to get that far :)

Any assistance would be appreciated with this.

END DIGIUM EMAIL

So, in short, I have very little idea as to how to find out what is
wrong, or what to look at to try and fix this. 

Regards,
Adam




More information about the asterisk-dev mailing list