[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Kirkwood ARMEL installer for Debian 12 "bookworm" fails to enumerate USB drives on Ionics-EMS Nimbus 100



I have an Ionics-EMS Nimbus 100, which is a repackaged version of the Marvell Kirkwood ARMEL SheevaPlug.  It has been running fine for years.  I have to update Linux to support TLS 1.2.

The current Kirkwood ARMEL installer for Debian 12 "bookworm" does not work: it does not recognize the USB installation drive.  I found that the previous Kirkwood ARMEL installer for Debian 11 "bullseye" works fine.

The Debian 11 installer (from console port #2) enumerates both the USB EHCI controller and the LEXAR 4GB USB drive:

~ # cat /sys/bus/usb/devices/*/product                                          
JD FIREFLY                                                                      
EHCI Host Controller                                                            

I installed Kirkwood ARMEL Debian 11 to my USB drive using a single ext4 rootfs partition.  It works fine.

However, the Kirkwood ARMEL Debian 12 installer only enumerates the USB EHCI controller, not the LEXAR 4GB USB drive:

~ # cat /sys/bus/usb/devices/*/product                                          
EHCI Host Controller                                                            

Hence, the Kirkwood ARMEL Debian 12 installer fails when it cannot find a suitable drive for the installation.  (It does not support installs to the internal eMMC flash drive.)

I also have a Marvell SheevaPlug, which does not have this problem.

U-Boot info:

Marvell>> version

U-Boot 1.1.4 (Dec 27 2009 - 22:03:21) Marvell version: 3.4.27 - pingtoo patch.01

The Debian 11 installer (from console port #2) enumerates both the USB EHCI controller and the LEXAR 4GB USB drive:

~ # cat /sys/bus/usb/devices/*/product                                          
JD FIREFLY                                                                      
EHCI Host Controller                                                            

The Debian 12 installer also enumerates both the USB EHCI controller and the LEXAR 4GB USB drive:

~ # cat /sys/bus/usb/devices/*/product                                          
JD FIREFLY                                                                      
EHCI Host Controller                                                            

Note, as for my Nimbus 100, I was able to boot the Debian installers from the Marvell U-Boot that I have been using for years on my ARM PlugPCs.  I tried both the vendor U-Boot and the updated U-Boot recommend by Martin Michlmayr on the Nimbus, which did not help Debian 12 to enumerate the USB drive.  I restored my old Nimbus system and then began experimenting with other Debian installers, which is how I discovered that the Debian 11 installer works.

Instead of booting the Debian 11 and 12 installers, I have made myself a Debian 12 UBI flash rootfs (which won't boot yet), and then I have told U-Boot to boot it using the Debian 11 kernel and initramfs from my USB rootfs (my running Debian 11 system) as well as the Debian 12 kernel and initramfs from my UBI flash rootfs system.  Neither boot actually works because neither kernel has built-in UBIFS support to mount the ubi0:rootfs rootfs.  But, I do land in the initramfs both times.  Thus, the Debian installer is out of the picture and I am running a bare-bones Linux kernel at that point.

The Debian 11 Linux 5.10.0-32-marvell kernel enumerates the USB LEXAR FIREFLY drive:

(initramfs) cat /sys/bus/usb/devices/*/product
JD FIREFLY
EHCI Host Controller
(initramfs) uname -a
Linux (none) 5.10.0-32-marvell #1 Debian 5.10.223-1 (2024-08-10) armv5tel GNU/Linux

whereas the Debian 12 Linux 6.1.0-25-marvell kernel does not:

(initramfs) cat /sys/bus/usb/devices/*/product
EHCI Host Controller
(initramfs) uname -a
Linux (none) 6.1.0-25-marvell #1 Debian 6.1.106-3 (2024-08-26) armv5tel GNU/Linux

That makes me think the bug is likely in the Linux kernel, not the Debian 12 installer.

I compared the two kernel config files, but I don't see anything obvious in any USB settings.  I am guessing the bug is in the kernel code itself, not anything to do with the CONFIG choices.  Maybe someone knows what changed affecting ARMEL Linux kernels between V5 and V6.

Larry Baker
US Geological Survey (Ret.)
c. 650-784-9650
baker@usgs.gov




Reply to: