Re: [Gpsbabel-misc] Garmin USB communications problem under Mac OS X
Brought to you by:
robertl
From: Robert L. <rob...@us...> - 2006-09-08 16:32:16
|
> The good news is that the firmware upgrade to 4.10 fixes the Garmin > 60CS on Mac OS X, but the Garmin Quest with 4.00 is still inoperable I knew 60CS would work as I have one of those. Sounds like you need to bug Garmin to get them to sideport the USB fixes to Quest. > under Mac OS X. I went ahead and upgraded from gpsbabel 1.30 to 1.3.1 > on my PowerBook (with libusb 0.1.12), and noticed that it no longer > hangs with the Quest, but aborts by itself instead: Odd. I didn't remember any changes in that area between 1.3.0 and 1.3.1 and 'cvs diff -r gpsbabel_1_3_0 -r gpsbabel_1_3_1 ' reveals nothing pertinent. > I wondered what was taking them so long. I would have never figured > that their firmware was sloppy enough to require fixes to support > other operating systems though! It's a depressingly common trait in USB devices. Few companies ever bother to actually read the spec and implement all possible legal combinations of packets and state transitions. Instead, they handle what Windows throws at them and then claim they don't support anything else. For example, in the very spec violation that the Apple stack grumbled about, the packects in question have a size at the start of them. Windows always requests nine bytes. The OS/X stack requests enough bytes to read the size, then issues a correctly sized read. (This is totally legal.) Some devices fail any read of that descript that's not nine bytes. This also means that vendors can't ever put anything BUT nine byte fields there if they expect it to work with Windows which is not an inconsequential percentage of many markets. Result: Devices works on Windows and everyone else has to cope with what Windows does. I have reasons beyond GPSBabel to be strongly interested in USB. > BTW: I tried gpsbabel under Solaris 11 snv_44, and it did not see the > Quest at all under USB. In order to make gpsbabel 1.3.1 compile under I don't know that anyone has ever tried libusb on Solaris. If you're interested in helping to debug that, let me know. > Solaris, I had to rename the "times" variable in saroute.c to avoid a > conflict with libc: I'll probably replace 'times' with 'timesynth' in that file to skate over that. Thanx. > Thanks a lot for this excellent tool btw. If there is any further You're welcome. RJL |