Am Dienstag, 17. November 2009 18:35:11 schrieb Adrian Taylor: > Hi, > > Nokia S60 phones expose two CDC ACM channels. The first is a modem and > is properly detected by the current cdc-acm driver. The second has a > protocol ID of 0xff ('vendor specific') and /dev/ttyACM* is NOT > currently created for it. > > This second channel is useful, since it's freely usable by third-party > S60 application developers. It's sometimes used for debuggers or, in our > case, remote control tools. At the S60 end, it just acts as a serial > port (as it does on Windows and MacOS X). We should expose it as > a /dev/ttyACM* device so that user-space tools can use it on Linux, too. If it is a serial port, why not as a serial port /dev/ttyUSBx ? > I attach a simple patch which does just that. > > However! It's not that simple. > > The reason is that some Windows Mobile/Windows CE devices support a > remote ethernet protocol called RNDIS, which is build atop CDC ACM. This > sadly uses the same class, subclass and protocol IDs. > > So currently drivers/net/usb/rndis_host.c tries to register for exactly > the same devices. It eventually fails (when usbnet_generic_cdc_bind Where is the problem? > determines that it's not a suitable ethernet interface after all). But, > if we create a serial port in cdc-acm, rndis_host doesn't even get a > chance to try. > > What's the best way to allow each driver to have a crack at this > particular interface? > > My plan would be: > * No longer attempt to bind to this sort of interface from > rndis_host. How should this be possible? We must support real rndis devices. > * Export a function from the rndis_host driver to request for it > to try to bind to a particular interface. > * Call that function from cdc-acm, for the relevant interfaces. > * If it fails, fall back to exposing it as a tty device. Absolutely no. We must support kernel configurations with only the rndis host driver compiled. > But this would introduce a dependency from cdc-acm on rndis_host, which > doesn't sound right. Can anyone suggest a better way? Please post "lsusb -v" for this device. Regards Oliver -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html