<div dir="auto">Hello!<div dir="auto"><br></div><div dir="auto">Thank you for clarifying that CHIRP doesn't support Digital radios. I was really looking forward to the project to be honest, but it's OK. I'll see what else O can do. Again thank you!</div><div dir="auto"><br></div><div dir="auto">Kosmas SY1DKC</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Στις Σάβ, 5 Σεπ 2020, 03:32 ο χρήστης Jim Unroe <<a href="mailto:rock.unroe@gmail.com">rock.unroe@gmail.com</a>> έγραψε:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Fri, Sep 4, 2020 at 12:17 PM Kosmas Raptis via chirp_devel<br>
<<a href="mailto:chirp_devel@intrepid.danplanet.com" target="_blank" rel="noreferrer">chirp_devel@intrepid.danplanet.com</a>> wrote:<br>
><br>
> Hello!<br>
><br>
> I've been using CHIRP for a while to program my QYT KT8900D, and recently I became interested in adding support for my handheld radio, the AnyTone AT-D878UV PLUS (and, by extent, the regular version of it). I set up a dev environment on Ubuntu 20.04, used USBPcap to capture its packet data from a Read using its official CPS from Windows, as the Add a Radio guide suggests, and got that to Ubuntu to analyze with WireShark to start working on the driver. I managed to figure out that it has a baud rate of 9600, and which device it is from the .pcap file, also saw that it does a lot of URB_BULK in and out requests, and also figured out there are actually 2 devices in address 1.2 (where my radio is), 1.2.1 and 1.2.3. The communication works like this, if my order is correct:<br>
><br>
> host to 1.2.1: URB_BULK in, packet data length is 0<br>
> host to 1.2.3: URB_BULK out, packet data length is 6<br>
> 1.2.3 to host: URB_BULK out, packet data length is 0<br>
> 1.2.1 to host: URB_BULK in, packet data length is 24<br>
><br>
> Repeat multiple times (my radio has a lot of entries on it. Is it recommended that I try with 1 entry on it, maybe, to get a shorter pcap file that also shows me how it's done per entry? Or doesn't it matter?)<br>
><br>
> But I also need some help. How can I figure out the memory map? How do I see the actual data sent in the packet and not just its header? How do I check how the radio returns stuff like the version? Also, what are these URB_BULK requests? Does it mean that it just dumps its memory without some specific protocol? I really need help here, I'm very new to this (Haven't worked on this for more than a couple hours, actually, and this is my first time reverse engineering anything and using WireShark or USBPcap, and I have a lot of questions). Thank you for your help!<br>
<br>
Hi Kosmas,<br>
<br>
I think that you will find that the way CHIRP is currently written, it<br>
will not readily be able to support digital radios.<br>
<br>
Jim KC9HI<br>
</blockquote></div>