New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
USB serial TNC support #105
Comments
+1 for this one! |
With the library I linked above, you wouldn't even need root access to do it. It uses the Android USB host API to allow the app to access the USB port directly (rather than through kernel serial drivers). |
There is already some discussion of the USB library in #12, but I think I will keep this ticket separate as a pure USB-TNC support request. When I checked the available Android USB codebases back then (wow, already three years ago), there were multiple USB libraries supporting different chipsets, partially even libraries from USB serial device vendors. A quick glance at usb-serial-for-android shows that it still focuses on FT232, so my dream of a single library with support for most available devices hasn't come true yet. To be honest, I don't know how to proceed from here. To really make the feature useful, I would need to add support for the major brands of USB-serial adapters (which are they?). Therefore my options are:
There is a USB serial library wrapper created by the basic4android community. My hope three years ago was that somebody would write a wrapper library that provides a single interface for the developer, and internally uses whatever is appropriate. This hasn't come true yet on Android, it seems to me. |
Update: there seems to be yet another USB serial library that claims support for the most relevant chips and is open source. I think I will try this one first. |
The one I linked supports FTDI, most Arduinos, SiLABS CP21xx, and Prolific. There's also a a couple of pull requests in the queue for adding other devices. I've personally tested the CH340 driver (from the pull request), and it seems to work fine. The one you linked already supports CH340 in the main branch, so that's a nice bonus. It seems like it may be a little more frequently updated as well. |
I've had some time to play around with the UsbSerial library, finally. Please try this very alpha APK - if you attach your serial device, it should automatically switch APRSdroid to USB mode (default 115200 baud, 8N1; you can change the baudrate in the preferences), and start the service. I've had one negative report so far (TX not working), but I need more datapoints. Please test and report back! :) |
"You Ass Be!"-mode (funny spelling ;-) ) with MicroAPRS using 9600 8n1 KISS is both sending and Thumbs up from me! :-) Br,
|
👍 Awesome! Works with the Mobilinkd Arduino KISS TNC project. @ 38400. My only request is to support higher baud rates. My STM Nucleo based TNC is running at 230400. (But as it is, plugging the Nucleo board into the Android OTG does really bad things. I have to reflash every time.) |
I have played with this a little more with my STM Nucleo board. The Nucleo presents 4 USB devices, only one of which is a CDC. So far, only one of the many USB terminal programs I tried is able to connect to the device. I also have APRSdroid communicating with it as well! TX & RX work. So, really, job well done. The only issue I have is that both the serial app and APRSdroid require that the firmware be changed to run at 9600 baud. Neither app appears to be able to change the baud rate of the CDC device. |
I have an Argent Data OpenTracker USB which supports KISS (but has to be switched via a serial command), I will give the Alpha a try this week. |
It appears that DTR is asserted on connection and then toggled on each TX. It stays low after each odd numbered TX and high after each even numbered TX. DTR low can be interpreted by some USB CDC devices as a "disconnect" from the application (the data terminal is no longer ready/connected). The behavior of toggling DTR in this manner seems a bit odd. Once I removed my dependence on DTR, the You Ass Be code works well for TX and RX. |
It appears that the CDC code has had a number of updates recently that may address many of the issues that I have run into. Georg, any chance you could produce an updated APK? |
Hi, I have a Kenwood TH-D72 and Samsung Tab 4 connected via usb ( installed on Samsung is APRSdroid-gl-2016-02-24_usb.apk ), i have setup the Baud Rate to 9600 on aprsdroid and also on my TH but i do not receive nothing on the AprsDroid Hub list. Do I have to do other settings on aprsdroid? Thank you, |
I have this working with mobilinkd arduino. Any chance you could provide this version with offline maps? or provide source code so i can attempt to make my own? |
The OSM builds created after Feb 23rd should have basic USB support, and I've just built a new OSM and regular APK based on UsbSerial 4.4: OSM APK. Before, there was a nasty and dumb bug that prevented auto-detection of USB serial devices. |
Hello again, I've finally had the time to do a major refactoring of the backend code. Now you can have not only KISS over USB, TCP and Bluetooth, but also use these link types for Kenwood GPS waypoint mode. I've also added faster baud rates to the app, no idea if they actually work in real life. Please test and let me know: http://aprsdroid.org/download/builds/APRSdroid-gl-2016-09-21.apk |
Great,. I will have some time this weekend to test this out in my use case. On Sep 21, 2016 6:18 AM, "Georg Lukas" notifications@github.com wrote:
|
I had a chance to test it today, i was able to link to my tnc device and Casey On Wed, Sep 21, 2016 at 6:18 AM, Georg Lukas notifications@github.com
|
Update..... SW appears to function,. TX problem was with using wide1. I switched to Is there a version of this that has offline maps? On Sep 17, 2016 10:07 AM, "Georg Lukas" notifications@github.com wrote:
|
I'm having the same issue of not transmitting, I tried the wide2-2 trick but it didn't work for me. Receive works great as does plotting the map with packets from other station but no transmit. |
Just a theory, since the Digi path input is free text and leta say you type On Oct 3, 2016 4:37 AM, "Georg Lukas" notifications@github.com wrote:
|
I've restricted the characters allowed in the digi path entry field now. Also changed some USB/TNC initialization settings, please test if everything works with this APK. APK: http://aprsdroid.org/download/builds/APRSdroid-gl-2016-10-06.apk |
I realize it's been a minute but I had some time to play with V1.3.0
2016-12-02 this morning. Receiving signals and plotting on the map ok but
the TH-D72 won't transmit when "Send Position" is pressed.
…On Thu, Oct 6, 2016 at 4:08 AM, Georg Lukas ***@***.***> wrote:
I've restricted the characters allowed in the digi path entry field now.
Also changed some USB/TNC initialization settings, please test if
everything works with this APK.
APK: http://aprsdroid.org/download/builds/APRSdroid-gl-2016-10-06.apk
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#105 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ARH92woFsmDvPwPgmdThsSkcs6x39xOYks5qxMi4gaJpZM4FYTQj>
.
|
APRSdroid 1.4 is officially available now. |
I was wondering if there will be USB serial support in the public release soon? |
As stated above, USB CDC serial was added in the APRSdroid 1.4 release in 2017. I just tested it using using a Prolific USB Serial cable I have lying around on APRSdroid 1.6.2b installed from the Play Store and it appears to be working. I know USB Serial cables can be sometimes finicky due to their confusing history. Do you have a specific cable that it is not working with? FTDI? Prolific? |
Thanks for your reply fine sir, I had installed an older version without
realizing it.
After installing a newer version it it now communicates with the homebuilt
mobilinkd arduino tnc. Oddly, although aprs messages seem to work
properly, msgs sent to SMSGTE (to send to a cell phone) aren't sent or
received..lol
I can live with that. 😉
…On Sun., Feb. 13, 2022, 20:03 Loren M. Lang, ***@***.***> wrote:
As stated above, USB CDC serial was added in the APRSdroid 1.4 release in
2017. I just tested it using using a Prolific USB Serial cable I have lying
around on APRSdroid 1.6.2b installed from the Play Store and it appears to
be working. I know USB Serial cables can be sometimes finicky due to their
confusing history. Do you have a specific cable that it is not working
with? FTDI? Prolific?
—
Reply to this email directly, view it on GitHub
<#105 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ACG35XMIAFIKS57IHH2BOKDU3BWI5ANCNFSM4BLBGQRQ>
.
Triage notifications on the go with GitHub Mobile for iOS
<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
or Android
<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
You are receiving this because you commented.Message ID:
***@***.***>
|
It has been a while since I've used SMSGTE, but I don't see why it shouldn't work. I'll try testing it when I get a chance. |
It would be awesome to support USB TNCS. This would even allow users to build their own TNC with an arduino, a few passive components, and the mobilinkd code. This library does USB serial without requiring root access. Alternatively, I believe the Android kernel does usually provide the /dev entries (but would require root permissions to access them).
The text was updated successfully, but these errors were encountered: