Re: modprobe error "No such device" udc driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello Thomas De Schampheleire, 

> Hi,
> 
> The second parameter to platform_driver_probe() is a
> function pointer
> to the device-specific probe function (pxa_udc_probe).
> Eventually,
> this probe function will get called to check for the
> presence of the
> device.
> 
> You wrote that the error comes from platform_driver_probe.
> I assume it
> is from these two lines:
>  555        if (code == 0 && list_empty(&drv->driver.p->klist_devices.k_list))
>  556                retval = -ENODEV;
> 
> As far as I can tell, it checks whether or not the list of
> detected
> devices is empty. When a device is detected, the list will
> be
> non-empty.

I looked for that, by adding own printk calls. But the function pxa_udc_probe does not really play a role. It's true, the error comes from that list_empty function you mentioned. But there are also functions called before, which should fill the list. These are the real functions, that go wrong. I already checked it, but there are only more standard functions involved, not really the ones in pxa27x_udc.c.

What can I try to do?


> Did you actually connect the device to your board?

Well, actually, the board is the device (usb interface type B is used). But I also tried to connect it to a host PC, and it still does not work. The only thing that COULD be, is that the host (a PC with WindowsXP) does not have the appropriate driver for the board.

Let me explain, what I have researched. To make usb gadget work, there are two drivers needed:

1. USB device controller driver: this is the /drivers/usb/gadget/pxa27x_udc.c that I want to use.

2. USB gadget driver: there are different types, for example:
/drivers/usb/gadget/g_zero.c
/drivers/usb/gadget/gadgetfs.c
I compiled some of these as modules too, but they depend on the USB device controller driver (pxa27x_udc.c). So, if I modprobe them, the system tries to load pxa27x_udc first, which also gives the "No such device" error.
Because of this, I think, that the host PC is fine - if the drivers are not loaded, there can be no communication at all, right? So the kernel can never find out, if the host PC has the driver. So this cannot be the cause of this error.

Do I have to add another file on the board?

Best regards.







      

--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx
Please read the FAQ at http://kernelnewbies.org/FAQ



[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux