CNXSoft: This is a guest post by Marcel Ziswiler, Platform Manager – Embedded Linux, Toradex and Leonardo Graboski Veiga, Technical Marketing Engineer, Toradex related to Marcel’s upcoming talk “Wear Estimation for Devices with eMMC Flash Memory” at the Embedded Linux Conference 2019 later this month. Flash memory has been an important topic in embedded systems for decades. It allows for drastic improvements to the size and robustness of electronic devices compared to other storage technologies. Other benefits of flash storage include a lack of moving parts and reduced power consumption. However, the challenges that come with flash memory are not as widely publicized in consumer electronics. Among them are limited durability and greater software complexity. As shown in Figure 1, flash memory is everywhere in our daily lives, ranging from devices used specifically to store data, such as thumb drives, SD cards and SSDs, to other consumer electronics that use […]
MINIX NEO S2 USB-C SSD Hub Review in Ubuntu 18.04 with Khadas Edge
MINIX NEO S1 & S2 are USB-C hubs with the usual HDMI and USB outputs, but also a built-in 120 GB & 240 GB SSD respectively. The company has sent me a sample of each, and in order to test the platform, I decided to do on a Khadas board running Ubuntu 18.04 with LXDE desktop environment (aka Lubuntu). I’ll start by checking out the packages’ content, before going through my experience with the MINIX NEO S2 USB-C hub in Ubuntu 18.04 with LXDE desktop environment. MINIX NEO S1 & S2 Unboxing Both packages are basically identical except for the different color, and one shows 120GB SSD capacity, while the other has 240GB The back side has some more details about the USB-C hub. I’ll focus on the 240GB model since it’s just the same, but around $13 to $20 more expensive, and it offers double the capacity, as well […]
Reading ID Card Data in Ubuntu with EZ100PU Smart Card Reader (Thai ID Edition)
I was asked help with configuring a smart card reader on a government computer running Windows 7, but this made me wonder what would happen if I connected the card reader to my Ubuntu laptop and whether I’d be able to read content from a Thai ID card. EZ100PU Smart Card Reader Let’s have a look at the card reader itself first. It’s a FAST ID EZ100PU smart card reader compliant with ISO7816 standard. That’s the product page of the specific model, but a search for EZ100PU only reveals the manufacturer may be InfoThink Technology based on Taiwan. The USB smart card reader comes with a CD that includes drivers for Windows, Linux, Mac OS, and Android, as well as an SDK with a demo program and sample code in C++, Visual Basic .NET, and C#. As we’ll see further below, the Linux driver is not needed as it works […]
How Do You Handle Backups in Linux? Hardware, Software, Configuration, etc…
Linux EXT-4 File System Corruption & Attempted Recovery There’s a file system corruption bug related to EXT-4 in Linux, and it happened to me a few times in Ubuntu 18.04. You are using your computer normally, then suddenly you can’t write anything to the drive, as the root partition has switched to read-only. Why? Here are some error messages:
1 2 3 4 |
[15882.773747] EXT4-fs (dm-4): re-mounted. Opts: (null) [15898.557605] EXT4-fs error (device dm-4): ext4_iget:4831: inode #2113041: comm rm: bad extra_isize 20100 (inode size 256) [15898.568305] EXT4-fs error (device dm-4): ext4_iget:4831: inode #2113042: comm rm: bad extra_isize 35148 (inode size 256) [15898.569774] EXT4-fs error (device dm-4): ext4_lookup:1577: inode #2557277: comm rm: deleted inode referenced: 2113043 |
What then happens is that you restart your PC, and get to the command where you are asked to run:
1 |
esfsck /dev/sda2 |
Change /dev/sda2 to whatever your drive is, and manually review errors. You can take note of the file modified, as you’ll likely have to fix your Ubuntu installation later on. Usually the fix consists of various package re-installations:
1 |
sudo apt install --resintall <package-name> |
It happened to me two or three times in the past, and it’s a pain, but I eventually recovered. But this time, I was not so lucky. The system would […]
How to Decode Markings on FBGA Memory Chips
SDRAM chips often come in compact FBGA (Fine-Pitch Ball Grid Array) packages, which do not leave enough space to write the full part number. So instead component manufacturers rely on abbreviated part markings that often have nothing to do with the actual part numbers. For example, the Micron SDRAM chip above has markings that read “PPE39 7LW75 D9WDL”. We know it’s a Micron part because of the logo, but if you search any on the number on the chip, you won’t find anything on the web. Instead, you need to look for the marking decoder from the chip company. Micron calls it the FBGA and Component Marking Decoder. Usually we need to use the second number on the chip, but in that case, it did not work, and I had to use the third number. I got my answer. Somehow the company does not link to any product page. Searching […]
How to Overclock Raspberry Pi 4 to 2.0 GHz
Yesterday I played with my new “ICE Tower CPU cooling fan” for Raspberry Pi 4 which cools the board just great but is clearly over the top. Regular reader and commenter m][sko mentioned it was possible to overclock Raspberry Pi 4 to 2.0 GHz after a firmware upgrade. That looks like a perfect task for my new fansink! I’ve upgraded both the firmware and operating system:
1 2 |
sudo rpi-update sudo apt dist-upgrade |
then edited /boot/config.txt as root (sudo) to add the following lines to boost the maximum frequency to 2.0 GHz:
1 2 3 |
force_turbo=0 arm_freq=2000 over_voltage=6 |
Do not try to set force_turbo=1, as while it would allow to further boost the voltage, it will change a fuse in the chip, and it will void your warranty. We can now reboot the board to validate the settings, and check those are applied:
1 2 3 |
vcgencmd get_config int | grep "arm\|over" arm_freq=2000 over_voltage=6 |
Good. At idle the frequency is lower, but that normal:
1 2 |
vcgencmd measure_clock arm frequency(48)=666826176 |
Voltage is set to 1.0335V:
1 2 |
vcgencmd measure_volts volt=1.0335V |
[…]
Checking Out Machine Check Exception (MCE) Errors in Linux
I recently reviewed ODROID-H2 with Ubuntu 19.04, and noticed some errors messages in the kernel log of the Intel Celeron J4105 single board computer while running SBC-Bench benchmark:
1 2 3 4 5 6 7 8 9 |
[180422.405294] mce: [Hardware Error]: Machine check events logged [180425.656449] mce: [Hardware Error]: Machine check events logged [180483.582825] mce_notify_irq: 17 callbacks suppressed [180483.582827] mce: [Hardware Error]: Machine check events logged [180484.991484] mce: [Hardware Error]: Machine check events logged [180594.700684] mce_notify_irq: 13 callbacks suppressed [180594.700686] mce: [Hardware Error]: Machine check events logged [180858.202115] mce: [Hardware Error]: Machine check events logged [181178.047031] mce: [Hardware Error]: Machine check events logged |
I did not know what do make of those errors, but I was told I would get more details with mcelog which can be installed as follows:
1 |
sudo apt install mcelog |
There’s just one little problem: it’s not in Ubuntu 19.04 repository, and a bug report mentions mcelog is not deprecated, and remove from Ubuntu 18.04 Bionic onwards. Instead, we’re being told the mcelog package functionality has been replaced by rasdaemon. But before looking into the utilities, let’s find out what Machine Check Exception (MCE) is all about from ArchLinux Wiki: A machine check exception (MCE) is an error generated by the CPU when the CPU detects that a hardware error or failure has occurred. Machine check exceptions (MCEs) can occur for a variety […]
Khadas VIM3 Review – Part 1: Kit Unboxing and Assembly
We started to read about Khadas VIM3 in May of this year as an Amlogic S922X development board with an M.2 socket for NVMe SSD, and 802.11ac WiFi 5 & Bluetooth 5.0 wireless module. Eventually, Shenzhen Wesion decided to change the processor to Amlogic A311D before the launch last month, since it does not cost much more, but includes a 5.0 TOPS neural processing engine. The company has sent me a Khadas VIM3 kit for evaluation and review. Before going through the software part, and especially the tools for the NPU which will be one of the highlights of the board, I’ll check out what I received today, and show how to assemble the kit. Khadas VIM3 Kit Unboxing The package is rather boring… But what’s really important is what’s inside… We’ve got an enclosure, a smaller package with the board itself, a USB-C power supply, a thermal pad + […]