Robert Craig
02/12/2008 3:22 PM
post4967
|
Just as a quick note for people who haven’t been following the drivers forum, we’ve beefed up some of the USB
infrastructure (USB interfaces will now detach themselves when they’re removed for example) and provided a porting doc
for those who want to port a driver from the NetBSD source.
Porting doc is here:
(http://community.qnx.com/integration/viewcvs/viewcvs.cgi/trunk/sys/dev/doc/port_bsd_usb.txt?root=core_networking&rev=197&system=exsy1001&view=log)
NetBSD driver source is here (look for the if_* source (driver files)).
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/dev/usb/?only_with_tag=netbsd-4-0-RELEASE
Looks like there are quite a few drivers that could be ported over (both wired and wireless).
The USB porting doc is based upon what was done to make the ASIX driver (devnp-axe.so) operate. Hopefully, these drivers will now be as simple to port as the PCI ones.
The io-net drivers for USB (devn-asix.so and devn-pegasus.so) unfortunately trap insertion events and then attempt to register the device from a thread that isn’t a stack thread. This means that they won’t work unless the device is already plugged in and detected when io-pkt comes up. The en? interface also isn’t automatically detached on removal (need to do an “ifconfig en? destroy” to get rid of it after the device is removed).
Note that io-pkt still requires a separate USB enumerator (which could be an enumerator of the human kind :>) to
mount the appropriate driver when a device is inserted.
Let us know if you have any feedback (positive OR negative).
Robert.
|
|
|