Re: [Gpsbabel-misc] GPS 60CS problem
Brought to you by:
robertl
From: Andrew H. <an...@an...> - 2006-01-31 23:34:56
|
I did spend a little time delving into the source before I joined the list and sent a request for help - and you are spot on the mark - I'd taken an approach of putting in some fprintf statements around the place until i worked out the function call - and you're absolutely right: usb_interrupt_read. I later spotted the commented-out debug line and that produced way more output. Anyways - problems solved with updated firmware. I'm a muppet for not doing that - apologies! If I can help the project in any way, just let me know! Cheers, Andy On 31 Jan 2006, at 23:22, Robert Lipe wrote: > Andrew Hatch wrote: > >> I've been trying to get my Garmin GPS Map 60CS working with my Apple >> Mac G5 (Tiger) over USB (no serial to usb adapter). I've tried > > Tiger and moderately recent firmware in the 60CS are both > requirements. > I can't remember the precise version where they fixed it, but it was > something like 6-8 months ago. > >> precompiled binaries, without success, and so turned to rolling my > > Did the precompiled one fail in the same way? What version of > libusb > are you using? 0.1.10a seems to be the best. > > > The pertinent parts of your report are: > > > Sent: 12 > 00 00 00 00 05 00 00 00 00 00 00 00 > ............ > usb_bulk_read: ep addr = 0x01 > Converting ep address to pipeRef. > ep_to_pipeRef: Pipe 1: DIR: 1 number: 1 > ep_to_pipeRef: pipeRef for ep address 0x81 found: 0x01 > usb_bulk_read: endpoint=0x81 size=1024 timeout=0.064000sec > usb_bulk_read: interrupt pipe > RX [16]:00 00 00 00 06 00 00 00 04 00 00 00 61 59 aa > b4 ............aY..(ACK ) > > Synced in 0 > Converting ep address to pipeRef. > ep_to_pipeRef: Pipe 1: DIR: 1 number: 1 > ep_to_pipeRef: Pipe 2: DIR: 0 number: 2 > ep_to_pipeRef: pipeRef for ep address 0x02 found: 0x02 > usb_bulk_write: endpoint=0x02 size=12 TO=64 > write completed > Sent: 12 > 14 00 00 00 fe 00 00 00 00 00 00 00 > ............ > usb_bulk_read: ep addr = 0x01 > Converting ep address to pipeRef. > ep_to_pipeRef: Pipe 1: DIR: 1 number: 1 > ep_to_pipeRef: pipeRef for ep address 0x81 found: 0x01 > usb_bulk_read: endpoint=0x81 size=1024 timeout=0.064000sec > usb_bulk_read: interrupt pipe > > [now i wait a few minutes, then turn off gps] > > > We sent a sync request and got an acknowledge back. (Just this > weekend, > I improved this debugging output considerably.) So we are talking > to the > unit and got one response back. We sent the "tell me about yoursself" > command (the 14... fe) and are waiting for a response. I strongly > suspect we're actually inside usb_interrupt_read and that it's just > implementing usb_interrupt_read in terms of usb_bulk_read. > > When you turn the GPS off, the USB stack tears down the connection and > fails the read. > > The fact that we specify a timeout on the read yet the read didn't > return is the second most disturbing piece of that puzzle. The first > is, of course, that you didn't get a response. It looks like the > OSX libusb is more chatty, but a snippet of a successful conversation > looks more like: > > > Sent: 12 > 00 00 00 00 05 00 00 00 00 00 00 00 > ............ > RX [16]:00 00 00 00 06 00 00 00 04 00 00 00 35 1a ff > b3 ............5...(ACK ) > > Synced in 0 > Sent: 12 > 14 00 00 00 fe 00 00 00 00 00 00 00 > ............ > RX [174]:14 00 00 00 ff 00 00 00 a2 00 00 00 23 01 69 01 47 50 53 > 4d 61 70 36 30 43 53 20 42 65 74 61 20 53 6f 66 74 77 61 72 65 20 > 33 2e 36 31 00 56 45 52 42 4d 41 50 20 52 65 63 72 65 61 74 69 6f > 6e 61 6c 20 52 6f 75 74 61 62 6c 65 20 48 69 67 68 77 61 79 20 42 > 61 73 65 6d 61 70 2c 20 41 6d 65 72 69 63 61 73 20 76 32 20 32 2e > 30 30 00 56 45 52 53 4d 41 50 20 4d 61 72 63 6f 2c 20 46 6c 6f 72 > 69 64 61 2c 20 50 6f 72 74 20 43 68 61 72 6c 6f 74 74 65 2c 20 46 > 6c 6f 72 69 64 61 2c 20 43 61 70 65 20 43 6f 72 61 20 30 2e 30 30 > 00 ..............i.GPSMap60CS.Beta.Software. > 3.61.VERBMAP.Recreational.Routable.Highway.Basemap..Americas.v2.2.00.V > ERSMAP.Marco..Florida..Port.Charlotte..Florida..Cape.Cora.0.00. > (PRDDAT ) > > > Note the response to the command we sent. More follow it, of course. > > > This kind of thing is painful to debug without bus analyzers. > Perhaps > you and other Mac users that are reporting success with USB Garmins > can > compare notes. > > RJL > > |