Am 16.03.2011 22:05, schrieb Greg KH: > On Wed, Mar 16, 2011 at 09:49:26PM +0100, Sven KÃhler wrote: >> Am 16.03.2011 20:34, schrieb Greg KH: >>> On Wed, Mar 16, 2011 at 07:28:25PM +0100, Johan Hovold wrote: >>>> On Wed, Mar 16, 2011 at 08:23:11AM -0700, Greg KH wrote: >>>>> On Wed, Mar 16, 2011 at 03:48:53PM +0100, Sven KÃhler wrote: >>>>>> Hi, >>>>>> >>>>>> I'm not sure, whether you consider this is an issue. However, the device >>>>>> I have (Lego NXT in SAM-BA mode, lsusb shows it as 03eb:6124 Atmel Corp. >>>>>> at91sam SAMBA bootloader) is supported by both cdc_acm and sam_ba kernel >>>>>> modules, which leads to unpredictable behaviour. >>>>>> (Tested 2.6.38 - same issue in 2.6.37) >>>>> >>>>> I think Johan is the best one to answer this, as he submitted the sam-ba >>>>> driver. >>>>> >>>>> Johan, any thoughts on the below info? >>>>> >>>>> >>>>>> >>>>>> If I plug the device in, the following happens if cdc_acm is already loaded: >>>>>>> usb 4-1: new full speed USB device using uhci_hcd and address 3 >>>>>>> cdc_acm 4-1:1.0: This device cannot do calls on its own. It is not a modem. >>>>>>> cdc_acm 4-1:1.0: ttyACM0: USB ACM device >>>>>>> usbcore: registered new interface driver cdc_acm >>>>>>> cdc_acm: v0.26:USB Abstract Control Model driver for USB modems and ISDN adapters >>>>>>> USB Serial support registered for sam-ba >>>>>>> usbcore: registered new interface driver sam-ba >>>>>>> sam_ba: v1.0: Atmel SAM Boot Assistant (SAM-BA) driver >>>>>> >>>>>> After unloading both cdc_acm and sam_ba, the following happends: >>>>>>> usb 4-1: new full speed USB device using uhci_hcd and address 4 >>>>>>> USB Serial support registered for sam-ba >>>>>>> sam-ba 4-1:1.1: sam-ba converter detected >>>>>>> usb 4-1: sam-ba converter now attached to ttyUSB0 >>>>>>> usbcore: registered new interface driver sam-ba >>>>>>> sam_ba: v1.0: Atmel SAM Boot Assistant (SAM-BA) driver >>>>>>> cdc_acm 4-1:1.0: This device cannot do calls on its own. It is not a modem. >>>>>>> cdc_acm: probe of 4-1:1.0 failed with error -16 >>>>>>> usbcore: registered new interface driver cdc_acm >>>>>>> cdc_acm: v0.26:USB Abstract Control Model driver for USB modems and ISDN adapters >>>>>> >>>>>> As you can see, the device is recognized by cdc_acm as well as sam_ba. >>>>>> Depending on which module is loaded, the device is either claimed by >>>>>> cdc_acm or sam_ba. The device name may be either ttyACM* or ttyUSB* >>>> >>>> Tradionally the generic usb-serial driver was used to access the SAM-BA >>>> boot application; this is documented in the Atmel tools, which also >>>> expect the device to show up as a ttyUSBx node. Due to changes in the >>>> generic driver the tools stopped working from 2.6.32 and a dedicated >>>> driver was later written (sam-ba). >>>> >>>> A couple of weeks after the sam-ba driver was submitted, however, >>>> 5b239f0aebd4dd6f85b13decf5e18e86e35d57f0 (USB: cdc-acm: Add pseudo modem >>>> without AT command capabilities) was submitted, which causes cdc_acm to >>>> bind to these devices as well. >>>> >>>>>> I have no clue, whether there are Atmel SAM-BA implementations that do >>>>>> not support the cdc profile. >>>>>> >>>>>> I'm not sure, whether the device should be blacklisted in cdc_acm in >>>>>> favor of sam_ba. However, I have the feeling that if sam_ba is actually >>>>>> installed, sam_ba should claim the device even if cdc_acm is already loaded. >>>>>> >>>>>> Last time I tested, the device was working fine with cdc_acm, though. >>>> >>>> I just connected a at91sam9260-ek board and can confirm that the samba >>>> tools do seem to work with the cdc-acm driver, although it does require >>>> a ttyUSBx symlink for the device to be recognised by the user-space tools >>>> (latest v2.10). >>>> >>>> I'm not sure about how to proceed with this. What do you say, Greg? >>> >>> If the sam-ba driver is not needed, we can just remove it. >>> >>> The symlink issue should be fixable in the userspace tools to just get >>> it to look for the different port (it should never have hard-coded >>> ttyUSB0 anyway, what if it was on ttyUSB3?). >> >> It's an UI issue, basically. They show a list of devices and they only >> show the ones matching the pattern ttyUSB*. In addition, you can't enter >> a custom device name. That's why you have to create a symlink, for >> example from ttyACM3 to ttyUSB7. > > Wow, what forsight... :) > > Have a pointer to the source code for this so I could fix it up? The source is not available, I believe. However, here's the download link for the software: http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3883 Actually, a few months ago (end of october 2010), I wrote an email to Atmel, explaining the situation. They should be aware of the ttyACM-issue. However, they have not released an updated version so far. The only response I got from Atmel was "I will forward you comment". I'm of course hoping, that it has been forwarded to the right people :-) Regards, Sven -- 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