[chirp_devel] TYT MD-380
Greetings,
Many Linux hams have written elsewhere about wanting support for the Connect Systems CS700 or the Tytera MD-380 DMR radios in CHIRP. I don't personally have much time to devote to the task, but I will soon have an MD-380 which I will give (free as in beer, down from $140) to a developer who wants to get into DMR and put in the time to add support to CHIRP.
The two radios use the same configuration format, based on DfuSe, and method of writing the config - a modified USB Device Firmware Update (DFU). The MD-380 is very popular right now, because of its price, and it seems that similar radios will be on the market for some time to come.
Some reverse engineering and USB debugging on Windows is likely required. Existing open source DFU utilities have not (for me) succeeded in writing the configuration, but there are a number of examples of code (including Python code) for handling DfuSe files, and some documents on some of the specific layout of the configuration.
I've been told that CHIRP is (almost?) entirely serial-based so far. I don't know how much of a wrench that throws in this. There's also some trepidation about accidentally bricking the radio, but I would guess that concern is common here.
I'm a Linux Systems Engineer and mostly write code in Python, but I'm just too busy with kids and work to believe that I'd be able to make much progress on my own. I'm happy to test from time to time, and to help figure out the file format and USB protocol.
If you're sufficiently interested in DMR and in adding a new radio to CHIRP, and you believe you can pull it off, please let me know off-list. I expect no payment, and I'm accepting the risk that the work may never get done. I've decided opening DMR to the world of hams who don't own any Windows machines is worth that risk.
I hope there's nothing inappropriate about making this offer on this list, and that you'll all forgive me if there is.
Kind Regards, Andrew Jorgensen KC7RBW
This offer still available if anyone wants to take me up on it. If I don't hear back in the next two weeks I'll put it to some other use.
Kind Regards, Andrew
On Tue, Oct 20, 2015, 8:47 AM Andrew Jorgensen andrew@jorgensenfamily.us wrote:
Greetings,
Many Linux hams have written elsewhere about wanting support for the Connect Systems CS700 or the Tytera MD-380 DMR radios in CHIRP. I don't personally have much time to devote to the task, but I will soon have an MD-380 which I will give (free as in beer, down from $140) to a developer who wants to get into DMR and put in the time to add support to CHIRP.
The two radios use the same configuration format, based on DfuSe, and method of writing the config - a modified USB Device Firmware Update (DFU). The MD-380 is very popular right now, because of its price, and it seems that similar radios will be on the market for some time to come.
Some reverse engineering and USB debugging on Windows is likely required. Existing open source DFU utilities have not (for me) succeeded in writing the configuration, but there are a number of examples of code (including Python code) for handling DfuSe files, and some documents on some of the specific layout of the configuration.
I've been told that CHIRP is (almost?) entirely serial-based so far. I don't know how much of a wrench that throws in this. There's also some trepidation about accidentally bricking the radio, but I would guess that concern is common here.
I'm a Linux Systems Engineer and mostly write code in Python, but I'm just too busy with kids and work to believe that I'd be able to make much progress on my own. I'm happy to test from time to time, and to help figure out the file format and USB protocol.
If you're sufficiently interested in DMR and in adding a new radio to CHIRP, and you believe you can pull it off, please let me know off-list. I expect no payment, and I'm accepting the risk that the work may never get done. I've decided opening DMR to the world of hams who don't own any Windows machines is worth that risk.
I hope there's nothing inappropriate about making this offer on this list, and that you'll all forgive me if there is.
Kind Regards, Andrew Jorgensen KC7RBW
Reviving an old thread. FYI, On Travis Goodspeed's md380tools github repo there is an experimental chirp driver that has the Tytera MD-380 memory mapped out.
Currently it can be used for manipulating the analog channels with Chirp. Though it looks like most of the structures have been mapped out with bitwise.
https://github.com/travisgoodspeed/md380tools/blob/master/chirp/md380.py
Note: It can't read/write the radio from chirp. The radio does not use a serial interface, it shows up as a USB device. It's using the STM32 DFU (device firmware update) code and USB VID. There is a separate Python utility, md380_dfu, that uses PyUSB 1.0 and libusb1.0 to read/write the image (a .img) file.
Beware, that the USB cable for this radio looks just like the USB/Serial cable for Kenwood/Wouxun/Baofang/etc. However there is no USB/serial chip in this cable. The cable simply connects USB D+/D- to the two ring connectors. Do not mix up the cables.
The stock windows software saves the configuration (codeplug in dmr terms) into a .rdt file. I don't know yet what the translation between the .rdt file and the raw codeplug firmware images look like yet.
An an FYI, this radio got a bit of attention lately because of a Schmoocon 2016 talk, "Reverse Engineering Chinese Radio Firmware"
http://hackaday.com/2016/01/19/shmoocon-2016-reverse-engineering-cheap-chine...
In the talk, Travis gives a chirp credit on how easy it is to map out memory structures. He's actually talking about Dan's bitwise module but referring to it as Chirp. It would be nice if bitwise was made available as separate Python module for use by other software.
They've patched the existing firmware to be able to receive all talkgroups (by replacing a jump if not equals with a no-op) which makes this radio somewhat useful as a handheld DMR scanner.
Hope this info is useful to some. --Rob
On 11/23/2015 4:51 PM, Andrew Jorgensen via chirp_devel wrote:
This offer still available if anyone wants to take me up on it. If I don't hear back in the next two weeks I'll put it to some other use.
Kind Regards, Andrew
On Tue, Oct 20, 2015, 8:47 AM Andrew Jorgensen <andrew@jorgensenfamily.us mailto:andrew@jorgensenfamily.us> wrote:
Greetings, Many Linux hams have written elsewhere about wanting support for the Connect Systems CS700 or the Tytera MD-380 DMR radios in CHIRP. I don't personally have much time to devote to the task, but I will soon have an MD-380 which I will give (free as in beer, down from $140) to a developer who wants to get into DMR and put in the time to add support to CHIRP. The two radios use the same configuration format, based on DfuSe, and method of writing the config - a modified USB Device Firmware Update (DFU). The MD-380 is very popular right now, because of its price, and it seems that similar radios will be on the market for some time to come. Some reverse engineering and USB debugging on Windows is likely required. Existing open source DFU utilities have not (for me) succeeded in writing the configuration, but there are a number of examples of code (including Python code) for handling DfuSe files, and some documents on some of the specific layout of the configuration. I've been told that CHIRP is (almost?) entirely serial-based so far. I don't know how much of a wrench that throws in this. There's also some trepidation about accidentally bricking the radio, but I would guess that concern is common here. I'm a Linux Systems Engineer and mostly write code in Python, but I'm just too busy with kids and work to believe that I'd be able to make much progress on my own. I'm happy to test from time to time, and to help figure out the file format and USB protocol. If you're sufficiently interested in DMR and in adding a new radio to CHIRP, and you believe you can pull it off, please let me know off-list. I expect no payment, and I'm accepting the risk that the work may never get done. I've decided opening DMR to the world of hams who don't own any Windows machines is worth that risk. I hope there's nothing inappropriate about making this offer on this list, and that you'll all forgive me if there is. Kind Regards, Andrew Jorgensen KC7RBW
chirp_devel mailing list chirp_devel@intrepid.danplanet.com http://intrepid.danplanet.com/mailman/listinfo/chirp_devel Developer docs: http://chirp.danplanet.com/projects/chirp/wiki/Developers
participants (2)
-
Andrew Jorgensen
-
Robert Terzi