Re: CDC ACM composite gadget serial not working between Linux and Windows?

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

 



On Fri, Jun 19, 2009 at 7:07 PM, David Brownell<david-b@xxxxxxxxxxx> wrote:
> On Thursday 18 June 2009, Xiaofan Chen wrote:
>> I do not know about the Linux CDC ACM composite gadget serial driver. But
>> you can get CDC-ACM Composite Device working under XP SP3 and Vista.
>> You need to use IAD (interface association descriptor).
>> http://www.microchip.com/forums/tm.aspx?m=336385
>> http://www.microchip.com/forums/tm.aspx?m=418885
>> http://www.cygnal.org/ubb/Forum9/HTML/001050.html
>
> Interesting that MSFT chose not to use the "CDC Union", which
> basically gives the same information as an IAD.

Last time Jan Axelson listed several options in this thread and
the final conclusion is that "CDC Union" is not working (Option 2).
The IAD (Option 3 and 4) works for XP SP3 and Vista (or XP SP2
with two hot fixes). There is another hack (Option 5) which works
under XP (not sure about Vista).

http://www.microchip.com/forums/tm.aspx?m=189607&mpage=2 (Post 29)


> And also, that they require bDeviceClass == 0 (ruling out the
> entire set of composite communications class devices), and
> insist on a single configuration (presumably they ignore any
> other-speed configuration on dual-speed devices).
>

Microsoft tends to suggest to use single configuration and I
believe they normally supports the first configuration for Windows
built-in drivers. You can however develop custom driver to
set the 2nd configuration (eg: for high power).

For example, here are two entries in MSDN on this topic.
http://msdn.microsoft.com/en-us/library/ms790478.aspx
http://msdn.microsoft.com/en-us/library/ms790472.aspx

More analysis by Tsuneo here.
http://www.microchip.com/forums/tm.aspx?m=404231

"There are three scenarios to switch the configuration.
a) Switched by PC application
b) Switched by PC device driver
c) Switched by Vista

b) by PC device driver
This means you have to write your custom device driver, which
switches between multiple configurations.
Unfortunately, KMDF WDFUSBDEVICE doesn't support multiple
configurations

Then, you have to write it on a bare bus driver framework without
help of USB framework, or, in a legacy, complicated WDM driver...
sigh ... "

I have not tried but maybe libusb-win32 or other generic
driver can be used for this task.


-- 
Xiaofan http://mcuee.blogspot.com
--
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