ModemManager behavior on SIM card switch - embedded-linux

Hey I am building an embedded linux device using Yocto, that will transmit some data via GSM network. It will work in a rough conditions, poor GSM range, so it will switch SIM cards often to find the best network.
My question is - does the modem manager rewrites the current APN during each sim card switch? Or does it use already saved?
I am asking this, beacause I witnessed GSM modems' flash being killed after like 3 months, because of APN being rewrited on each network switch.
Thanks!

Related

Access HTTP server running on the Onboard computer

I was wondering if it is possible to access an HTTP server running on the onboard computer from a device (mobile or laptop) connected to the remote control on the ground. From the documentation, the uplink/downlink speeds of 24kbps / 16Mbps are satisfactory for our application.
Going over the available SDKs, the "SDK Interconnection" or "MOP" caught my attention that offers send and receive functions for Onboard and Mobile SDK (Payload as well). However, this means that the send/receive from the ground are exposed on an android based SDK, i.e.
UART Lightbridge USB
Onboard PC ---> OSDK ----> DJI drone ------------> R.C. ----> Android ---> MSDK
From this alone, it seems that we would need to develop network interfaces that are sending and receiving via the corresponding OSDK and MSDK methods. This might be easier said than done - especially for the android device.
My questions are:
Is there a smarter way to do this?
Is the implementation of Mobile SDK available? If so we can port the send/receive code to a Linux box to simplify the code
The MSDK is heavily encrypted.
I've been doing some reverse engineering on it. It's not easy, recommend older versons since they not encrypted.
There's no opensource if that what you asked. Will never be.
Everything sent from the drone is dumldore messages. You can decode them without the MSDK, but it's not completly straightforward.
The messages are partly documented here:
https://github.com/o-gs/dji-firmware-tools/blob/master/comm_dissector/wireshark/dji-dumlv1-proto.lua
If I were you I would connect a 4g modem to the onboard computer. Saves you a lot of time.

Hard reconect USB device from bash

I have a lot of USB modems connected to a server. Sometimes USB not respond to software like gnokii o gammu (I need read IMEI) and we need disconnect device and reconnect, and the problem is solved.
I need a way to do this from bash. I know is impossible shutdown disabling energy. Any ideas?
I try with:
usbreset.c (https://gist.github.com/x2q/5124616)
usbpower.pl (https://gist.github.com/Krellan/6575538)
Both solutions detach device and atach again, but the problem when I request data still failing.
A solution passing this data is better for me :)
/dev/ttyUSB0
/dev/bus/usb/001/001
You may need to remove power from your usb device to make it reset properly. Though the usb standard expected hubs to provide for remote power switching by software, very few hubs actually implement this feature (which cuts down on 1 extra transister per port). You should try searching for usb hubs with PPPS which means per-port power switching.
This uhubctl software for Linux and MacOSX can control such a hub, and the page lists some compatible hubs. For example, this support reply in December 2016 from Plugable Technologies lists two inexpensive hubs they make which you can find, on amazon, for example.

Are NFC "writer" devices commercially available?

I'm looking into NFC for use with Android phones and the newest iPhones. What I'm envisioning is some kind of NFC "broadcast" device plugged in via USB cable to a computer, so that it always sends out the most up-to-date information to whatever NFC-enabled phone is within close proximity. So far I've been seeing a whole lot of NFC "tags," which I assume are rather stupid devices that are pre-programmed with essentially static content. I'm wondering if there are any USB NFC devices on the market that can be more dynamic. Do such products exist? What's the best search keyword to find such a device? (What I've been searching for thusfar hasn't been turning up a whole lot of results.)
"NFC "broadcast" device plugged in via USB cable to a computer, so that it always sends out the most up-to-date information to whatever NFC-enabled phone is within close proximity" is your requirement. As I see in market there are NFC Readers with USB plugin to computer. They are active NFC devices generating 13.56MHz and mostly used for payment purposes. However they are putting these devices to ticketing, Office ID applications. When you bring your NFC Phone within this reader's proximity, the reader will read your phone's data and shall send it to the computer as encrypted data and will be verified in your Computer. In this process, phone acts as passive device while reader is active device.
You can also control this reader using your corresponding Software in computer which you wish as dynamic writing.
I think this might help you http://www.acs.com.hk/en/products/3/acr122u-usb-nfc-reader/

Spying on a USB connection on Windows?

I have an Arduino application talking over USB to an application on Windows 8 using the MAVLINK protocol. The connection appears as COM3.
Is there a Windows application that can spy on this connection and display the traffic going in both directions? Raw bytes are fine, I don't need the protocol decoded.
You could log serial port activity using Portmon. (Edit: You need to first connect to the local computer via the Computer menu, and you must start capture on the port before a program opens it.)
You may not want to log USB traffic. Such a log would include a lot of extra information relating to the USB to serial adapter which is providing COM3. Portmon would only give you the bytes transferred over COM3, and the Mavlink protocol is entirely contained within that data stream. If you're sure you want to log all USB traffic to and from that device, then I recommend SnoopyPro. In Windows 7, you need to run it as administrator.
If you can use Windows XP in your environment, USB sniff should work for you. If you need something more powerful (and are willing to pay a fee for it) then USBLyzer might be a viable option.
The answer is SnoopyPro, and you can download it at:
SnoopyPro Sourceforge
This tool allows you to get USB information and also USB communication data. I used it in the past to know how a USB device worked in order to do its driver on Linux. I used this tool as a sniffer.
Basically, SnoopyPro allows you to intercept, display, record and analyze the USB protocol and all transferred data between any USB device connected to your PC and applications. It can be successfully used in application development, USB device driver or hardware development and offers the powerful platform for effective coding, testing and optimization.

USB Debugging

I'm looking for a very specific USB device for debugging systems that may use USB but not with a regular computer (proprietary hardware). I want a device that has a USB host controller and two USB device connections. The device to be debugged is connected to the USB host controller and one of the device connections is connected to another device with it's own host controller on it. The the other device connection is connected to a pc. The point being that all USB data travelling through the device (from the device connected to the host controller to the device connected to the first device connection) is reported to the pc.
I'll happily write software to do the logging (in fact I want to) but I can't seem to find a board like this anywhere. Can anyone help?
I have an Ellisys USB analyser, which isn't exactly what you describe internally, but does sit between a peripheral and a host and use a separate PC to collect the data.
(i.e. it has two 'B' and one 'A' connectors on it.)
Excellent product, and very helpful company.
Sniffing the USB shouldn't be too hard if you have the right hardware. And that is the tricky question. I haven't seen anything that describes the USB breakout box that you want. However I can say that this is in the realm of the following two magazines:
Nuts and Volts
Circuit Cellar
If they don't have a USB breakout box project in their archives, then at least they will have advertisements for small cheap single board computers that would have multiple USB ports that you can use for buffering the signals and reporting it back to your PC.
Alternatively is it possible to just wire your PC up to the middle of your two devices and write a custom drive that echos data back and forth while sniffing off a stream for you?
Sorry for the long delay in my reply -- I checked out one of our USB developer's toolchain, and he uses a Beagle USB Sniffer. He seems happy with it.
You're looking for a USB device with two upstream outputs. I think according to the USB spec, this is not possible. You will have two USB hosts trying to send messages and control the USB devices at the same time.
What if you were to look for a device which allowed you to view the data going through a hub via something other than a usb output?
If you're building something custom, take a look at this USB chip site. The chips are programmable via a windows application. Once you define how you want it to operate, it's saved on an EPROM on the dev board ($30-$50).
Sorry if this isn't helpful!

Resources