While Huawei provides status information for its HiLink modems via a web page, this is hardly useful when using the modem on a headless Linux server. I just published a small Python-based command-line tool on Github which displays some useful information about the modem’s status.
root@wopr~#: python ./hstatus.py
Huawei E3372 LTE Modem (IMEI: 121032526613216)
Hardware version: CL1D3271AM Ver.A
Software version: 22.286.53.01.161
Web UI version: 16.100.05.00.03-Mod1.4
MAC address (modem): 00:0D:87:12:1C:1D
Connection status: Connected
Network type: UMTS (3G)
Signal level: ▁▃▄▆█
Modem WAN IP address: 10.197.75.231
Public IP address: 184.108.40.206
DNS IP addresses: 220.127.116.11, 18.104.22.168
Network operator: Swisscom
Connected for: 03:15:15 (hh:mm:ss)
Downloaded: 615.17 KB
Uploaded: 258.69 KB
Total downloaded: 14.69 MB
Total uploaded: 1.34 MB
Unread SMS: 1
The tool has been tested on a Huawei E3276 and a E3372 modem. For the newer E3372 modem I had to add some code to supply a RequestVerificationToken in the HTTP header.
Feel free to send a pull request on Github with your own tweaks!
The repository is available here: github.com/trick77/huawei-hilink-status
I’ve been trying to get my Huawei E3276-150 4G/LTE USB modem to work with my PC Engines APU2 router board for quite a while. Once connected, the Huawei modem creates its own network thanks to its HiLink mode and is detected as an Ethernet over USB device in Linux. All I have to do is to ask the modem’s DHCP server for an IP address, use the modem as the default gateway and I should be all set. Right? Continue reading “How to bypass Lycamobile’s tethering block in Linux”
Here’s a UnixBench performance comparison between PC Engines APU1 vs the brand new APU2. Both system boards are equipped with 4 GB of RAM and a 16 GB mSATA SSD. While the APU1 sports a dual core AMD G series T40E CPU, the APU2 comes with a AMD G series GX-412TC quad core CPU.
Continue reading “PC Engines APU1 vs APU2 UnixBench benchmark”
Recently, I’ve replaced my five year old 13″ MacBook Air with a new budget Linux laptop. Since I’ve been using Linux desktops more and more there was just no point in buying another Apple product. The time was ripe to go fully Linux on my to-go laptop.
When I started evaluating laptops I quickly realized that even in 2016 it’s still nearly impossible to buy a new laptop with full Linux driver support. Linux and mobile hardware support is somewhat like a good red wine, it gets better over time. One notable exception is the Dell XPS 13 Developer Edition which comes with a preloaded Ubuntu Desktop operating system. I’m not sure if Dell still sells an updated version of the Developer Edition model but it was not available in my country and I didn’t want to shell out more than $800 for my new laptop anyway.
Best budget Linux laptop
When it comes to portable computers, I’m probably kinda old-school. I don’t need a touch screen (fingerprints everywhere, eeek!) or some funky 2-in-1 tablet/laptop convertible like the Dell Yoga. Just a slim, lightweight 13″ laptop with a nice display (preferably matte), a battery-friendly processor, flash-based storage and a couple of full-size USB 3.0 ports for a decent price. After looking at a half dozen or so potential candidates I’ve set my eyes on the ASUS Zenbook UX305CA with the 6th gen. Intel Skylake mobile processor.
Continue reading “Best budget Linux laptop 2016”
Since the default Quagga package in Ubuntu doesn’t have SNMP support enabled, the Quagga package has to be compiled locally. The following instructions may work for Debian as well but I only tested it in Ubuntu Server 14.04 LTS.
/etc/quagga/daemons and enable at least
bgpd and let’s create some empty config files for Quagga:
touch /etc/quagga/bgpd.conf ; touch /etc/quagga/zebra.conf
To enable SNMP support in Quagga, the line
agentx has to be inserted into
drfalken@wopr:/etc/quagga# head bgpd.conf
log file /var/log/quagga/bgpd.log
debug bgp events
debug bgp filters
debug bgp updates
router bgp 65535
bgp router-id 22.214.171.124
I wont dwelve into how to setup the SNMP daemon but don’t forget to add the following lines to the
snmpd.conf configuration file and restart the SNMP daemon afterwards:
agentxperms 777 777
Make sure to set proper permissions for the agentx directory with a
chmod 755 /var/agentx/
or you will get error messages like
snmp[warning]: Warning: Failed to connect to the agentx master agent ([NIL])
Once Quagga is able to connect to the local SNMP daemon, a message like this will show up in Quagga’s log file:
snmp[info]: NET-SNMP version 5.7.2 AgentX subagent connected
Monitoring Quagga BGP sessions using SNMP
Monitoring BGP sessions works fantastically using LibreNMS. You can chose to receive push notifications and/or emails if a BGP session goes down/up or is flapping. However, there’s some tinkering involved to display 32-bit ASNs properly in LibreNMS (let me know in the comments if you’re interested) because the MIB only handles 16-bit integers. Unfortunately, there’s no IPv6 support in Quagga’s current SNMP implementation as well.