Wear Estimation for Devices with eMMC Flash Memory

flash wear leveling & garbage collection

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 S2 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)

Smart Card Reader Thai ID Card

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…

Duplicity/Deja Vue backup restoration

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:

What then happens is that you restart your PC, and get to the command where you are asked to run:

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:

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

Micron SDRAM PPE39

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

Raspberry Pi 4 Overclocked Benchmarks

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:

then edited /boot/config.txt as root (sudo) to add the following lines to boost the maximum frequency to 2.0 GHz:

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:

Good. At idle the frequency is lower, but that normal:

Voltage is set to 1.0335V:

[…]

Checking Out Machine Check Exception (MCE) Errors in Linux

Machine Check Exception Error 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:

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:

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

Khadas VIM3 Review

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 + […]

Youyeetoo X1 x86 SBC