LinHT Image Manual
Connecting to LinHT
After connecting LinHT over USB-C a new network adapter should appear in your system (RNDIS driver needed under Windows).
LinHT should be reachable under the IP address of 10.17.17.17.
Network services
There are 2 ways to manage LinHT:
SSH
A SSH server is listening on port 22
For remote connections with vscode, an entry with the platform type is needed:
Press ctrl+, to open settings and search for remote.ssh.remoteplatform.
Enter 10.17.17.17 as Item and select linux as value
LinHT Web Manager
A simple web management is accessible over http://10.17.17.17:7373.
Credentials are as follows:
Username: linht
Password: linht
Files and folders
| Path | Content |
|---|---|
| /usr/share/linht | Configuration YAML file along with fonts, flowgraphs, icons, and sounds |
| /var/lib/linht | Application files like the message database etc. |
Environment variables
| Variable | Content |
|---|---|
| FG_PATH | Location of GNU Radio flowgraphs |
| MSG_DB | Message database (SQLite) path |
SX1255 configuration
SX1255 is a complete IQ transceiver chip, supporting full duplex operation. Effective frequency coverage is 356-562MHz (RX and TX oscillators report PLL lock within this range at room temperature). Baseband input and output uses I2S interface (I and Q branches are mapped to left and right audio channels). Supported sample rates are 125, 250, and 500kHz.
sx1255-spi tool
sx1255-spi tool can be used to configure the RF front end chip.
Example SX1255 initialization for reception:
sx1255-spi -E -s 500 -r 433475000 -l 24 -p 20 -R 1 -P
Example SX1255 initialization for transmission:
sx1255-spi -E -s 500 -t 433475000 -m -7.5 -d -3 -T 1 -P
After boot-up, only the first sx1255-spi command requires the -E option (it resets the SX1255), unless it is really required to reset the front end.
LinHT-utils
Compiling and running GNU Radio flowgraphs
Change the directory to the one holding GNU Radio flowgraphs:
cd /usr/share/linht/grc
Then, run grcc:
grcc som_m17_test_rx.grc
This should generate an executable python file. It is required to set the execution privileges using chmod:
chmod u+x som_m17_test_rx.py
At this point, the flowgraph can be executed:
./som_m17_test_rx.py
Note
Performance of the Sinc Compensating Filter (custom Python Block) is low. Its intended use is fine-tuning the inverse sinc filter required in the baseband path. Knowing its set of parameters, the filter taps can be used with a much more robust Decimating/Interpolating FIR Filter block.
Miscellaneous tests
Keypad test
Keypad test can be conducted using evtest:
evtest /dev/input/event0
Every key press should result in a few new lines added to the log, notifying the user which key was pressed (or released).
Other
ALSA device blocked after killing a GNU Radio flowgraph
Sometimes, for various reasons, flowgraphs might freeze. Normally, killing them is the only option, but it keeps the sound device(s) blocked. This prevents the user from restarting the flowgraph, as it can not initialize resources properly (ALSA: device or resource is busy error). Fortunately, a simple fix exists.
To list blocking processes, issue:
fuser -fv /dev/snd/*
Then, when the PID is known, do:
kill -9 PID
The blocked sound interface should now be freed.
Playing .wav files
To play a WAVE audio file using CLI, issue:
aplay -D plughw:wm8960audio /usr/share/linht/sounds/sms.wav
Playing video files to the framebuffer
ffmpeg -re -i <file> -s 160x128 -pix_fmt bgra -f fbdev /dev/fb0