Skip to content
This repository has been archived by the owner on Aug 20, 2023. It is now read-only.

Could someone help me get mcp2200-forwarder to work on an Atmega32u4 microcontroller? #24

Open
UNIVAC-Colonel-Panic opened this issue Mar 9, 2017 · 0 comments

Comments

@UNIVAC-Colonel-Panic
Copy link

Hi,

I'm attempting to use mcp2200-forwarder.c on my PowerPC Mac Mini OS X 10.5.8 (Leopard) to talk to a BlinkyTape device that has a Atmega32u4 microcontroller. I changed mcp2200-forwarder.c to have the correct hardcoded USB vendor and product ID (1d50 and 605e respectively).

When I run the compiled mcp2200-forwarder, I get the following results:

$ ./mcp2200-forwarder -vvv -l /tmp/ACM0
device_added()
Device added.
find_interfaces()
Scanning interfaces ...
Interface 0x00001703.
Interface class 2, subclass 2.
Interface has 1 endpoints.
PipeRef 1: direction in, transfer type interrupt, maxPacketSize 16.
Choosing this interface as Interrupt.
Interface 0x00001A03.
Interface class 10, subclass 0.
Interface has 2 endpoints.
PipeRef 1: direction out, transfer type bulk, maxPacketSize 64.
PipeRef 2: direction in, transfer type bulk, maxPacketSize 64.
Choosing this interface as Bulk.
... interface scan done.
send_bridge_setup()
Failed to take down DTE & RTS. Ignoring. (e000404f)
Failed to set baud rate & co. Ignoring. (e000404f)
Failed to raise DTE & RTS. Ignoring. (e000404f)
Unable to set up USB-UART bridge. (e000404f)
close_interface()
device_removed()
pty_open()
Terminal name: /dev/ttys002
Created symlink to /tmp/ACM0

When I start a second shell session and run a perl script to use /tmp/ACM0, nothing happens on the BlinkyTape device and there's no error displayed. The perl script acts like it is happily sending the data to the BlinkyTape device because it takes a few seconds to do so, just like would happen if it was working correctly.

When I return to the first shell session running mcp2200-forwarder, it shows only one new line:

pty_read(), event 0x0002

When I contacted the BlinkyTape development team, I got these responses (edited for brevity):

It's a little hard to tell from the source code, but a potential issue is that the BlinkyTape is actually a composite USB device, meaning that it supports a few other interfaces besides TTY-ACM (this was to make it compatible with the default Arduino Leonardo firmware). It looks like that code is ... finding the right interfaces, however I'm not sure how to interpret the addresses '0x00001703' or '0x00001A03'. [The output from USB Prober] shows that the computer is seeing the USB device just fine, so I think you're on the right track.

Output from USB Prober (starting at highlighed line 81) on my Mac: http://pastebin.com/Br0najQt
Output from 'lsusb' from BlinkyTape developer's Linux machine: http://pastebin.com/xjL1jZLR

I think I'm close to getting mcp2200-forwarder to work. Can anyone help?

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant