arm: davinci: USB ethernet
We are currently using a DA850 eval board but will eventually use a custom board to interface host system to davinci using ethernet over USB. We are using 2.6.37 with real-time patches, but a cursory look (have not been able to build yet) at 3.3-rc7 suggests that the issues noted below still exist.
There are currently two issues:
- Documentation/usb/hotplug.txt suggests that the drivers should be built as modules so that such things as loading drivers and, in this case, bringing up the interface, can ge moderated in user-space. However, though the code can be build modular, the drivers are never loaded. I suspect that one or more of the several relevant configs (I see at least these: USB_MUSB_HDRC, USB_MUSB_DA8XX_GLUE, USB_GADGET, USB_ETH, USB_GPIO_VBUS, NOP_USB_XCEIV, USB_ETH_RNDIS, USB_OTG_UTILS) are required to be built in, but cannot seem to determine the correct ones.
- Even when compiling all the driver code built-in, neither the plug-in nor plug-out event is propagated to user space, again, so that the interface can be brought up.
I am happy enough to build-in the driver code, but I still need the ability to bring up the interface. I know that I can use a call to
call_usermodehelper
to get to use-space, but I'd still be faced with where that call would work best.
So, I'm wondering if you have suggestions regarding how to proceed.
Thanks,
Darryl
Quoted 8 lines · Darryl
We are currently using a DA850 eval board but will eventually use a custom board to interface host system to davinci using ethernet over USB. We are using 2.6.37 with real-time patches, but a cursory look (have not been able to build yet) at 3.3-rc7 suggests that the issues noted below still exist.
There are currently two issues:
Quoted 9 lines
-
Documentation/usb/hotplug.txtsuggests that the drivers should be built as modules so that such things as loading drivers and, in this case, bringing up the interface, can ge moderated in user-space. However, though the code can be build modular, the drivers are never loaded. I suspect that one or more of the several relevant configs (I see at least these:USB_MUSB_HDRC,USB_MUSB_DA8XX_GLUE,USB_GADGET,USB_ETH,USB_GPIO_VBUS,NOP_USB_XCEIV,USB_ETH_RNDIS,USB_OTG_UTILS) are required to be built in, but cannot seem to determine the correct ones.
Do you have a userspace tool that will automatically load the proper modules when they show up?
As for unwinding the .config issues, you will have to do this, based on your own settings, not much we can do here.
Quoted 3 lines
- Even when compiling all the driver code built-in, neither the plug-in nor plug-out event is propagated to user space, again, so that the interface can be brought up.
How do you know it isn't showing up? What are you using to watch for it? Are you using udev? Something else? devtmpfs?
greg k-h
Quoted 18 lines · Greg KH
Quoted 8 lines · Darryl
We are currently using a DA850 eval board but will eventually use a custom board to interface host system to davinci using ethernet over USB. We are using 2.6.37 with real-time patches, but a cursory look (have not been able to build yet) at 3.3-rc7 suggests that the issues noted below still exist.
There are currently two issues:
Quoted 9 lines
-
Documentation/usb/hotplug.txtsuggests that the drivers should be built as modules so that such things as loading drivers and, in this case, bringing up the interface, can ge moderated in user-space. However, though the code can be build modular, the drivers are never loaded. I suspect that one or more of the several relevant configs (I see at least these:USB_MUSB_HDRC,USB_MUSB_DA8XX_GLUE,USB_GADGET,USB_ETH,USB_GPIO_VBUS,NOP_USB_XCEIV,USB_ETH_RNDIS,USB_OTG_UTILS) are required to be built in, but cannot seem to determine the correct ones.
Quoted 2 lines
Do you have a userspace tool that will automatically load the proper modules when they show up?
Busybox's mdev is currently intended for that. I've used udev for other projects, but we have a very limited space here. More important at the moment, however, is getting notifications in userspace.
Quoted 3 lines
As for unwinding the .config issues, you will have to do this, based on your own settings, not much we can do here.
It is my hope that the developers from TI and MonteVista will weigh in since I have, so far, unsuccessfully unwound the interactions.
Quoted 6 lines
Quoted 4 lines
- Even when compiling all the driver code built-in, neither the plug-in nor plug-out event is propagated to user space, again, so that the interface can be brought up.
How do you know it isn't showing up? What are you using to watch for it? Are you using udev? Something else? devtmpfs?
As noted above, mdev, which is set as the userspace hotplug script (via echo its full path to /proc/sys/kernel/hotplug) which I have slightly modified to just log that it is being run, and see no output messages.
Quoted 8 lines
greg k-h
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Quoted 21 lines · ddegraff
Quoted 18 lines · Greg KH
Quoted 17 lines · Darryl
We are currently using a DA850 eval board but will eventually use a custom board to interface host system to davinci using ethernet over USB. We are using 2.6.37 with real-time patches, but a cursory look (have not been able to build yet) at 3.3-rc7 suggests that the issues noted below still exist.
There are currently two issues:
-
Documentation/usb/hotplug.txtsuggests that the drivers should be built as modules so that such things as loading drivers and, in this case, bringing up the interface, can ge moderated in user-space. However, though the code can be build modular, the drivers are never loaded. I suspect that one or more of the several relevant configs (I see at least these:USB_MUSB_HDRC,USB_MUSB_DA8XX_GLUE,USB_GADGET,USB_ETH,USB_GPIO_VBUS,NOP_USB_XCEIV,USB_ETH_RNDIS,USB_OTG_UTILS) are required to be built in, but cannot seem to determine the correct ones.
Quoted 4 lines
Quoted 2 lines
Do you have a userspace tool that will automatically load the proper modules when they show up?
Busybox's mdev is currently intended for that. I've used udev for other projects, but we have a very limited space here.
udev really is too big? My cheap wireless router runs udev, I'm amazed that people really feel that mdev is a proper replacement.
Odds are, you really don't need mdev, just use devtmpfs and be done with it.
Anyway, as you are stuck with an old kernel release, I suggest you get support from your vendor, they are the only ones that can help you out here.
best of luck,
greg k-h