As Nicholas Flowers wrote: > ACM: requires 3 endpoints (2 data, and interrupt for line status). > Actually, as far as I understand the spec, the interrupt is supposed to be > optional, but the linux driver at least demands it.
All drivers I have seen require the interrupt endpoint, even though it's pointless (pun intended :). > Atmel-like: require 2 endpoints, it looks like doesn't use control > interface at all (commands are sent over those two endpoints). Correct, it only uses the data endpoints. > ACM/Atmel: can't work (requires 5 endpoints, 16U2 only has 4) Interesting. The dump I've shown you was from an mEDBG device which is based on ATmega32U4, so obviously they support more endpoints than the U2. > FTDI/Atmel: might work, but requires (as you say) enough support in avrdude > to select the endpoints based on interface. (Which presumably means > changes to the config parser, as well?) The config parser isn't black art, it's just a YACC and a Lex file. We could perhaps add enough guesswork to usbdev_open() to automatically find the correct endpoints. ISTR a patch for this is already in a patch tracker (it is required for some LUFA implementation). Here is the discussion about it: https://savannah.nongnu.org/bugs/?40831 Also, there's a patch implementing serial number checks in USBasp: https://savannah.nongnu.org/patch/?7321 -- cheers, Joerg .-.-. --... ...-- -.. . DL8DTL http://www.sax.de/~joerg/ Never trust an operating system you don't have sources for. ;-) _______________________________________________ avrdude-dev mailing list [email protected] https://lists.nongnu.org/mailman/listinfo/avrdude-dev
