[chirp_users] "length 0" error DLing from FT-8900
junk07+chirp at boling.us
Wed May 13 11:40:35 PDT 2015
I used Wireshark to do a raw capture USB. I am NOT a USB expert, but
here's what I saw in 3 different tests:
I first examined a successful CHIRP session w/ a Wouxun radio.
After the initial GET DESCRIPTOR for the device and about 10 URB_CONTROL
packets, I saw lots of URB_BULK packets exchanging the data with the radio.
I then tried it with PuTTY connected to the FT-8900.
As soon as I started the capture, I saw the GET DESCRIPTOR request/response.
When I pressed the button on the radio to send the data, I then saw 16
"URB_BULK in" packets, the 1st one being from the radio to the PC, the
2nd being the other direction, etc. Each of the 8 packets from the
radio contained one of 8 chars of the "AH008$.$" string.
I then monitored a session w/ CHIRP and the FT-8900.
Note: I'm going to prefix some of my comments w/ WireShark packet
numbers, just so I can keep track of where I am in the dump and go back
and reference it later if needed.
The serial port was USB device #12. lsusb shows these endpoints defined
for the device:
EP 1 IN
EP 2 OUT
EP 3 IN
1) As soon as I started the capture, I saw the GET DESCRIPTOR
request/response (to/from 12.0).
409) When I started CHIRP listening, I saw two "URB_CONTROL out" packets
(PC-->radio & response) to/from 12.0.
417) When I pressed the button on the radio to send the data, I saw the
same "URB_BULK in" packets as in #2. These 1st 16 packets were from/to
12.3 and contained the same "AH008$.$" string.
Each of these bulk packets seem to contain 64 bytes plus whatever the
data payload is. The recipient always replies with a 64-bit packet w/
no data. I won't bother to mention these confirmation packets anymore.
433) I then saw a reply from the host ("URB_BULK out") to 12.2
containing a single data byte (0x06).
435) The radio (12.3) replied with a 0x06.
439) Then the same exchange happened again (host sent 0x06, radio replied).
443) Then the host sent a "URB_CONTROL out" tp 12/-
445) The radio (12.3) sent an empty (64 bytes, no data) "URB_BULK in"
packet to the PC.
446) The radio sent another one -- without a confirmation packet from
the PC. I'll take a wild guess that the previous packet killed CHIRP.
447) 12.1 sent a "URB_INTERRUPT in" packet.
That was the end of the session.
More information about the chirp_users