Re: cdc_acm and sam_ba support the same device

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

 



On Wed, Mar 16, 2011 at 12:34:59PM -0700, Greg KH wrote:
> 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?).
> 
> So, want me to delete it?

Yes, that is likely the best way forward, but let me just have closer
look at the cdc-acm driver first. It seems there are some issues that
need to be resolved.

Thanks,
Johan
--
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


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux