Lost WiFi device on update today

Hello!

After the apt update and apt all-upgrade, the system is no longer seeing WiFi device. I can get my Pocket Reform online via wired connection still, but somewhat limited.

Can I do anything to fix quickly, or should I wait for few days for fixed update?

Can you be more specific? Which pocket reform module do you have, are you using an external WiFi module, what updated? Check the latest section in /var/log/apt/term.log

Hello,

It is NXP i.MX8M Plus version of Pocket Reform and lost access was built-in WiFi module on the processor board.

Maybe something to do with:
network-manager:arm64 (1.50.3-1, 1.52.0-2)
I am not sure.

Install:

libpoppler147:arm64 (25.03.0-2, automatic), 
libtorsocks:arm64 (2.4.0-3, automatic), 
libebur128-1:arm64 (1.2.6-1+b2, automatic)

Upgrade:

udev:arm64 (257.3-1, 257.4-1), 
libfreeaptx0:arm64 (0.1.1-2+b2, 0.2.2-1), 
gnome-software:arm64 (48~beta-1, 48~rc-1), 
gpg:arm64 (2.2.46-2, 2.2.46-3), 
gnome-software-common:arm64 (48~beta-1, 48~rc-1), 
libtinfo6:arm64 (6.5+20250216-1, 6.5+20250216-2), 
gir1.2-freedesktop:arm64 (1.82.0-4, 1.83.2-2), 
libpam-systemd:arm64 (257.3-1, 257.4-1), 
pipewire-pulse:arm64 (1.2.7-1+b2, 1.4.0-1), 
gnome-system-monitor:arm64 (48~beta-1, 48~rc-1), 
thunderbird:arm64 (1:128.7.0esr-1, 1:128.8.0esr-1), 
libsystemd0:arm64 (257.3-1, 257.4-1), 
pipewire:arm64 (1.2.7-1+b2, 1.4.0-1), 
gnupg:arm64 (2.2.46-2, 2.2.46-3), 
torsocks:arm64 (2.4.0-2+b1, 2.4.0-3), 
systemd:arm64 (257.3-1, 257.4-1), 
libudev1:arm64 (257.3-1, 257.4-1), 
gpg-agent:arm64 (2.2.46-2, 2.2.46-3), 
libgirepository-1.0-1:arm64 (1.82.0-4, 1.83.2-2), 
gir1.2-nm-1.0:arm64 (1.50.3-1, 1.52.0-2), 
gir1.2-girepository-2.0:arm64 (1.82.0-4, 1.83.2-2), 
libspa-0.2-bluetooth:arm64 (1.2.7-1+b2, 1.4.0-1), 
gpgv:arm64 (2.2.46-2, 2.2.46-3), 
network-manager:arm64 (1.50.3-1, 1.52.0-2), 
libncurses-dev:arm64 (6.5+20250216-1, 6.5+20250216-2), 
gpgsm:arm64 (2.2.46-2, 2.2.46-3), 
pipewire-audio:arm64 (1.2.7-1, 1.4.0-1), 
pipewire-bin:arm64 (1.2.7-1+b2, 1.4.0-1), 
adduser:arm64 (3.142, 3.144), 
libspa-0.2-modules:arm64 (1.2.7-1+b2, 1.4.0-1), 
libsystemd-shared:arm64 (257.3-1, 257.4-1), 
libadwaita-1-0:arm64 (1.7~beta-2, 1.7~rc-1), 
libpipewire-0.3-0t64:arm64 (1.2.7-1+b2, 1.4.0-1), 
dirmngr:arm64 (2.2.46-2, 2.2.46-3), 
m4:arm64 (1.4.19-5, 1.4.19-7), 
systemd-sysv:arm64 (257.3-1, 257.4-1), 
gnome-software-plugin-flatpak:arm64 (48~beta-1, 48~rc-1), 
libpoppler-glib8t64:arm64 (25.01.0-5, 25.03.0-2), 
gnupg-l10n:arm64 (2.2.46-2, 2.2.46-3), 
libpipewire-0.3-modules:arm64 (1.2.7-1+b2, 1.4.0-1), 
libotr5t64:arm64 (4.1.1-5.1+b1, 4.1.1-6), 
libncursesw6:arm64 (6.5+20250216-1, 6.5+20250216-2), 
libnm0:arm64 (1.50.3-1, 1.52.0-2), 
gpgconf:arm64 (2.2.46-2, 2.2.46-3), 
pipewire-alsa:arm64 (1.2.7-1+b2, 1.4.0-1), 
libncurses6:arm64 (6.5+20250216-1, 6.5+20250216-2)

From a glance, that seems to be the component most connected to network operation from your list. The version of network-manager you are upgrading to has only been uploaded yesterday. Since this is also an upstream version bump it is not unlikely that there is a bug with network-manager and you are just one of the first few people running into it. To make sure, that it is indeed network-manager that is responsible, you could downgrade to network-manager from testing. Add this to your /etc/apt/sources.list:

deb http://deb.debian.org/debian testing main

Then run apt update and then install network-manager from testing:

sudo apt install gir1.2-nm-1.0:arm64=1.50.3-1 network-manager:arm64=1.50.3-1 libnm0:arm64=1.50.3-1

You have to manually select the versions from testing because by default, apt will pick the highest version of a package. The alternative would be to add an apt preferences file with custom pin values but then you would later have to make sure that you don’t forget cleaning this up. Specifying the versions manually is more work now but I think less chance for messing up later. :slight_smile:

If the bug goes away with network-manager from testing, then you should file an RC bug with network-manager. The maintainers will tell you how to debug the problem.

EDIT: you probably already had a look into sudo journalctl -u NetworkManager but it contained nothing particularly interesting?

EDIT2: i upgraded my x86 laptop at work to latest Debian unstable (including network-manager) and wifi kept working fine.

Sorry,

It appears that I brought my Pocket Reform into much worse situation with apt full-upgrade lately. I have accidentally let it proceed with removal of vmlinuz-6.12.17-mnt-reform-arm64 and now it does not boot.

Could you help me to get my Pocket Reform back?

Thanks.

That sounds like a file in /boot and not like a linux-image package name. Do you mean the former or the latter?

If you mean the former and if you have your root filesystem on SSD and only your /boot on eMMC, then you could pop in an SD-card and try the reform-emmc-bootstrap script which will wipe your eMMC and put a /boot partition on it which will (if i didn’t leave bugs in it) boot your system on SSD.

If you use this system image then you can help testing the upcoming reform-tools 1.69 release: Artifacts · build (#7823) · Jobs · Reform / reform-system-image · GitLab

Hello,

I tried to boot from µSD card from the image downloaded from https://source.mnt.re/reform/reform-system-image/-/jobs/7823/artifacts/raw/pocket-reform-system-imx8mp.img.gz , and went through the setup steps. Then noticed that WiFi device was not recognized by the µSD card image.

I went forward with reform-emmc-bootstrap and it asked for the LUKS unlock and seemed to have done what it supposed to do. But Pocket Reform did not boot from EMMC and to SSD afterward, just blank screen.

Any idea? Thanks in advance.

The easiest way to debug this would be to take a second machine and use a USB UART adapter to investigate the output on serial. Without that, it will be tricky to find out what’s going on.

If you don’t have a serial adapter, debugging this will be a bit more painful. For example, you could boot from the sd-card again and run reform-emmc-bootstrap again but do it this way:

sudo sh -x /usr/bin/reform-emmc-bootstrap

That will give you a lot of output but that output might give some sort of clue about what is going on.

Another strategy would be to run reform-check inside the broken setup by booting from the sd-card you prepared, connect to the internet, unlocking luks and then chrooting into your system like this (all as root):

cryptsetup luksOpen /dev/nvme0n1 reform_crypt
vgchange -ay reformvg
mount /dev/reformvg/root /mnt
mount -o bind /dev /mnt/dev
mount -t sysfs sys /mnt/sys
mount -t proc proc /mnt/proc
mount /dev/mmcblk2p1 /mnt/boot
cp /etc/resolv.conf /mnt/etc/resolv.conf
chroot /mnt reform-check
umount /mnt --recursive
vgchange -an reformvg
cryptsetup luksClose reform_crypt

Please paste the complete console output here.

Hello,

I just noticed that the image https://source.mnt.re/reform/reform-system-image/-/jobs/7823/artifacts/raw/pocket-reform-system-imx8mp.img.gz does not contain sshd, it seems.

Is there a way to copy the console output into a text file locally? I have been ssh into my Pocket Reform from other machine to post on this forum before.

Please guide me. Thanks.

That is correct. The package openssh-server is not installed by default. There is a merge request that installs it here: install openssh-server (!119) · Merge requests · Reform / reform-system-image · GitLab But even that one masks sshd.service to avoid exposing the Reform via ssh to the network without explicit consent of the user.

You could always sudo apt install openssh-server and then do everything via ssh. Or you can just use your mouse to copypaste your terminal output to a textfile. Then you can use a usb stick to move the file elsewhere or, if your pocket has internet access, directly upload your textfile to some place.

There are more options but they are a bit more advanced:

  • instead of typing the commands manually, create a shell script with them and then run the shell script and redirect its standard output and standard error to a file: sudo ./yourscript.sh >./log 2>&1
  • record your whole interaction with the terminal using the script program

Hello,

Thank you. I have got the console output:

shigeru@mntpr-0:~$ sudo sh -x /usr/bin/reform-emmc-bootstrap
[sudo] password for shigeru: 
+ set -eu
+ [ 0 -gt 0 ]
+ cat /proc/device-tree/model
+ [ -e ./machines/MNT Pocket Reform with i.MX8MP Module.conf ]
+ cat /proc/device-tree/model
+ [ -e /usr/share/reform-tools/machines/MNT Pocket Reform with i.MX8MP Module.conf ]
+ cat /proc/device-tree/model
+ . /usr/share/reform-tools/machines/MNT Pocket Reform with i.MX8MP Module.conf
+ SYSIMAGE=pocket-reform-system-imx8mp
+ DTBPATH=freescale/imx8mp-mnt-pocket-reform.dtb
+ EMMC_USE=true
+ EMMC_BOOT=warn
+ SD_BOOT=false
+ DEV_MMC=mmcblk2
+ DEV_MMC_BOOT0=true
+ DEV_SD=mmcblk0
+ DEV_SSD=nvme0n1
+ DEV_USB=sda
+ UBOOT_SHA1=c643569afa1cc6f60015980bd5a73b7bd6329303
+ UBOOT_PROJECT=reform-imx8mp-uboot
+ UBOOT_TAG=2025-01-12
+ UBOOT_OFFSET=0
+ FLASHBIN_OFFSET=0
+ NEED_NONFREE=false
+ BOOTARGS=ro no_console_suspend cryptomgr.notests loglevel=3 pci=pcie_bus_perf nvme_core.default_ps_max_latency_us=0 console=tty1 fbcon=rotate:3 fbcon=font:TER16x32 cma=256MB console=ttymxc1
+ lsblk --noheadings --output=MOUNTPOINT /dev/mmcblk2
+ [ -n  ]
+ get_exclusive_write_lock /dev/mmcblk2
+ ret=0
+ python3 - /dev/mmcblk2
+ return 0
+ MOUNTROOT=
+ parted --json /dev/nvme0n1 print
+ jq --raw-output .disk.label
+ disk_label=unknown
+ echo I: no partition table found trying to open LUKS device
I: no partition table found trying to open LUKS device
+ is_current_root /dev/reformvg/root
+ findmnt --fstab --noheadings --evaluate --mountpoint / --output SOURCE
+ FSTAB_ROOT=/dev/mmcblk0p2
+ [ /dev/reformvg/root = /dev/mmcblk0p2 ]
+ cryptsetup luksOpen /dev/nvme0n1 reform_crypt
Enter passphrase for /dev/nvme0n1: 
+ vgchange -ay reformvg
  2 logical volume(s) in volume group "reformvg" now active
+ main /dev/reformvg/root
+ ROOTPART=/dev/reformvg/root
+ trap cleanup EXIT INT TERM
+ lsblk --noheadings --output=MOUNTPOINT /dev/reformvg/root
+ MOUNTROOT=
+ [ -z  ]
+ get_exclusive_write_lock /dev/reformvg/root
+ ret=0
+ python3 - /dev/reformvg/root
+ return 0
+ mktemp --tmpdir --directory reform-emmc-bootstrap.XXXXXXXXXX
+ MOUNTROOT=/tmp/reform-emmc-bootstrap.WpbTPNrDqL
+ mount /dev/reformvg/root /tmp/reform-emmc-bootstrap.WpbTPNrDqL
+ mount -o bind /dev /tmp/reform-emmc-bootstrap.WpbTPNrDqL/dev/
+ mount -t sysfs sys /tmp/reform-emmc-bootstrap.WpbTPNrDqL/sys/
+ mount -t proc proc /tmp/reform-emmc-bootstrap.WpbTPNrDqL/proc/
+ chroot /tmp/reform-emmc-bootstrap.WpbTPNrDqL dpkg-query --search /boot/vmlinuz*
dpkg-query: no path found matching pattern /boot/vmlinuz*
+ echo E: no kernel packages installed
E: no kernel packages installed
+ exit 1
+ cleanup
+ [ -n /tmp/reform-emmc-bootstrap.WpbTPNrDqL ]
+ mountpoint --quiet /tmp/reform-emmc-bootstrap.WpbTPNrDqL
+ umount --recursive /tmp/reform-emmc-bootstrap.WpbTPNrDqL
+ rmdir /tmp/reform-emmc-bootstrap.WpbTPNrDqL
+ is_current_root /dev/reformvg/root
+ findmnt --fstab --noheadings --evaluate --mountpoint / --output SOURCE
+ FSTAB_ROOT=/dev/mmcblk0p2
+ [ /dev/reformvg/root = /dev/mmcblk0p2 ]
+ [ -e /dev/reformvg ]
+ vgchange -an reformvg
  0 logical volume(s) in volume group "reformvg" now active
+ [ -e /dev/mapper/reform_crypt ]
+ cryptsetup luksClose reform_crypt

Hope the above gives you enough idea. Please let me know if something else is required.

Thank you again for your help.

Aha! This explains your earlier message:

I had asked before whether you need the linux-image package name or the file in /boot but you didn’t respond to that.

This means that you probably mis-pasted and actually meant that the package linux-image-6.12.17-mnt-reform-arm64 got removed. Yes, that’s not ideal and you should’ve gotten a big fat warning about the removal of the currently running kernel. Did you?

The simple fix is to install the package linux-image-mnt-reform-arm64. I have improved reform-emmc-bootstrap to do this for you in this MR: bin/reform-emmc-bootstrap: offer installing missing linux-image-mnt-reform-arm64 (!116) · Merge requests · Reform / MNT Reform Tools · GitLab

Please download the fixed script and repeat what you already did but with the fixed script and not the old version in /usr/bin.

1 Like

Hello,

Yes, for the past week the big warning was showing up on every update, then one exhausted day, I accidentally proceeded without thinking. And got myself into the mess.

I am kind of new with GitLab, am I clicking on the “Code” button and “Download” “Patches” from the page?

Thanks.

What I usually do is to click on the “Changes” tab and then at the file I want I press the button on the right with the three dots and in the menu that opens I press “View file at …”. That will open the file with the changes from that merge request in the gitlab source viewer. To download it in text format there is a download button at the very right or an “open raw” button next to it which also gives you the plain text: https://source.mnt.re/reform/reform-tools/-/raw/ad421f08057c076d1327c6926a20450dcc0762be/bin/reform-emmc-bootstrap

1 Like

Hello,

Thank you for the instruction, I have got my Pocket Reform booting up again.

shigeru@mntpr-0:~/Documents$ sudo ./reform-emmc-bootstrap 
[sudo] password for shigeru: 
I: no partition table found trying to open LUKS device
Enter passphrase for /dev/nvme0n1: 
  2 logical volume(s) in volume group "reformvg" now active
This script will replace the /etc/fstab in the root filesystem on your SSD
with the following content:

##LABEL=reformsdroot / auto errors=remount-ro 0 1
##LABEL=reformsdboot /boot auto errors=remount-ro 0 1
##UUID=72d257bd-450e-498a-980e-6c4a5e7fe090 none swap sw 0 0
#/dev/reformvg/root / auto errors=remount-ro 0 1
#/dev/mmcblk2p1 /boot auto errors=remount-ro 0 1
#UUID=72d257bd-450e-498a-980e-6c4a5e7fe090 none swap sw 0 0
/dev/reformvg/root / auto errors=remount-ro 0 1
/dev/mmcblk2p1 /boot auto errors=remount-ro 0 1

WARNING: This script will destroy the contents of your eMMC drive and replace
it with a /boot partition which is able to boot your system on SSD.

WARNING: This operation needs internet access to your Debian apt mirror. Make
sure that your system is online before proceeding.

Are you sure you want to proceed? [y/N] y
mke2fs 1.47.2 (1-Jan-2025)
Discarding device blocks: done                            
Creating filesystem with 499712 1k blocks and 124928 inodes
Filesystem UUID: 4ec195f8-cb4b-403c-b4d2-77426ca0642a
Superblock backups stored on blocks: 
	8193, 24577, 40961, 57345, 73729, 204801, 221185, 401409

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done 

Get:1 http://deb.debian.org/debian unstable InRelease [205 kB]
Get:2 http://deb.debian.org/debian unstable/main arm64 Packages.diff/Index [63.6 kB]
Ign:3 https://mntre.com/reform-debian-repo reform InRelease                    
Hit:4 https://deb.torproject.org/torproject.org trixie InRelease          
Get:5 http://deb.debian.org/debian unstable/main Translation-en.diff/Index [63.6 kB]
Get:6 http://deb.debian.org/debian unstable/main all Contents (deb).diff/Index [63.8 kB]
Get:7 http://deb.debian.org/debian unstable/main arm64 Contents (deb).diff/Index [63.8 kB]
Get:8 https://mntre.com/reform-debian-repo reform Release [1,939 B]
Ign:9 https://mntre.com/reform-debian-repo reform Release.gpg                  
Get:10 http://deb.debian.org/debian unstable/main arm64 Packages T-2025-03-13-0204.09-F-2025-03-09-0204.12.pdiff [320 kB]
Get:11 https://mntre.com/reform-debian-repo reform/main arm64 Packages [13.9 kB]
Get:10 http://deb.debian.org/debian unstable/main arm64 Packages T-2025-03-13-0204.09-F-2025-03-09-0204.12.pdiff [320 kB]
Get:12 http://deb.debian.org/debian unstable/main Translation-en T-2025-03-13-0204.09-F-2025-03-09-0204.12.pdiff [16.1 kB]
Get:12 http://deb.debian.org/debian unstable/main Translation-en T-2025-03-13-0204.09-F-2025-03-09-0204.12.pdiff [16.1 kB]
Get:13 https://mntre.com/reform-debian-repo reform/main arm64 Contents (deb) [192 kB]
Get:14 http://deb.debian.org/debian unstable/main all Contents (deb) T-2025-03-13-0204.09-F-2025-03-09-0204.12.pdiff [134 kB]
Get:14 http://deb.debian.org/debian unstable/main all Contents (deb) T-2025-03-13-0204.09-F-2025-03-09-0204.12.pdiff [134 kB]
Get:15 http://deb.debian.org/debian unstable/main arm64 Contents (deb) T-2025-03-13-0204.09-F-2025-03-09-0204.12.pdiff [42.3 kB]
Get:15 http://deb.debian.org/debian unstable/main arm64 Contents (deb) T-2025-03-13-0204.09-F-2025-03-09-0204.12.pdiff [42.3 kB]
Get:16 http://deb.debian.org/debian unstable/main arm64 Components [4,634 kB]  
Fetched 5,815 kB in 37s (155 kB/s)                                             
Reading package lists... Done
N: Missing Signed-By in the sources.list(5) entry for 'http://deb.debian.org/debian'
N: Missing Signed-By in the sources.list(5) entry for 'https://mntre.com/reform-debian-repo'
dpkg-query: no path found matching pattern /boot/vmlinuz*
I: No kernel package installed.
Do you want this script to install linux-image-mnt-reform-arm64 for you? [y/N] y
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
  linux-image-6.12.17-mnt-reform-arm64 linux-libc-dev
The following NEW packages will be installed:
  linux-image-6.12.17-mnt-reform-arm64 linux-image-mnt-reform-arm64
The following packages will be upgraded:
  linux-libc-dev
1 upgraded, 2 newly installed, 0 to remove and 136 not upgraded.
Need to get 73.9 MB of archives.
After this operation, 152 MB of additional disk space will be used.
Get:1 https://mntre.com/reform-debian-repo reform/main arm64 linux-image-6.12.17-mnt-reform-arm64 arm64 6.12.17-1+reform20250310T174627Z [71.4 MB]
Get:2 https://mntre.com/reform-debian-repo reform/main arm64 linux-image-mnt-reform-arm64 arm64 6.12.17-1+reform20250310T174627Z [1,468 B]
Get:3 https://mntre.com/reform-debian-repo reform/main arm64 linux-libc-dev all 6.12.17-1+reform20250310T174627Z [2,526 kB]
Fetched 73.9 MB in 10s (7,691 kB/s)                                            
Retrieving bug reports... Done
Parsing Found/Fixed information... Done
E: Can not write log (Is /dev/pts mounted?) - posix_openpt (19: No such device)
Selecting previously unselected package linux-image-6.12.17-mnt-reform-arm64.
(Reading database ... 311822 files and directories currently installed.)
Preparing to unpack .../linux-image-6.12.17-mnt-reform-arm64_6.12.17-1+reform20250310T174627Z_arm64.deb ...
Unpacking linux-image-6.12.17-mnt-reform-arm64 (6.12.17-1+reform20250310T174627Z) ...
Selecting previously unselected package linux-image-mnt-reform-arm64.
Preparing to unpack .../linux-image-mnt-reform-arm64_6.12.17-1+reform20250310T174627Z_arm64.deb ...
Unpacking linux-image-mnt-reform-arm64 (6.12.17-1+reform20250310T174627Z) ...
Preparing to unpack .../linux-libc-dev_6.12.17-1+reform20250310T174627Z_all.deb ...
Unpacking linux-libc-dev (6.12.17-1+reform20250310T174627Z) over (6.12.17-1+reform20250303T085515Z) ...
Setting up linux-libc-dev (6.12.17-1+reform20250310T174627Z) ...
Setting up linux-image-6.12.17-mnt-reform-arm64 (6.12.17-1+reform20250310T174627Z) ...
I: /vmlinuz.old is now a symlink to boot/vmlinuz-6.12.17-mnt-reform-arm64
I: /initrd.img.old is now a symlink to boot/initrd.img-6.12.17-mnt-reform-arm64
I: /vmlinuz is now a symlink to boot/vmlinuz-6.12.17-mnt-reform-arm64
I: /initrd.img is now a symlink to boot/initrd.img-6.12.17-mnt-reform-arm64
/etc/kernel/postinst.d/dkms:
Automatic installation of modules for kernel 6.12.17-mnt-reform-arm64 was skipped since the kernel headers for this kernel do not seem to be installed.
/etc/kernel/postinst.d/initramfs-tools:
update-initramfs: Generating /boot/initrd.img-6.12.17-mnt-reform-arm64
Using DTB: freescale/imx8mp-mnt-pocket-reform.dtb
Installing /usr/lib/linux-image-6.12.17-mnt-reform-arm64/freescale/imx8mp-mnt-pocket-reform.dtb into /boot/dtbs/6.12.17-mnt-reform-arm64/freescale/imx8mp-mnt-pocket-reform.dtb
Installing new imx8mp-mnt-pocket-reform.dtb.
Installing /usr/lib/linux-image-6.12.17-mnt-reform-arm64/freescale/imx8mp-mnt-pocket-reform.dtb into /boot/dtbs/6.12.17-mnt-reform-arm64/freescale/imx8mp-mnt-pocket-reform.dtb
Taking backup of imx8mp-mnt-pocket-reform.dtb.
Installing new imx8mp-mnt-pocket-reform.dtb.
flash-kernel: deferring update (trigger activated)
/etc/kernel/postinst.d/zz-flash-kernel:
Using DTB: freescale/imx8mp-mnt-pocket-reform.dtb
Installing /usr/lib/linux-image-6.12.17-mnt-reform-arm64/freescale/imx8mp-mnt-pocket-reform.dtb into /boot/dtbs/6.12.17-mnt-reform-arm64/freescale/imx8mp-mnt-pocket-reform.dtb
Taking backup of imx8mp-mnt-pocket-reform.dtb.
Installing new imx8mp-mnt-pocket-reform.dtb.
Installing /usr/lib/linux-image-6.12.17-mnt-reform-arm64/freescale/imx8mp-mnt-pocket-reform.dtb into /boot/dtbs/6.12.17-mnt-reform-arm64/freescale/imx8mp-mnt-pocket-reform.dtb
Taking backup of imx8mp-mnt-pocket-reform.dtb.
Installing new imx8mp-mnt-pocket-reform.dtb.
flash-kernel: deferring update (trigger activated)
Setting up linux-image-mnt-reform-arm64 (6.12.17-1+reform20250310T174627Z) ...
Processing triggers for flash-kernel (3.108+reform1) ...
Using DTB: freescale/imx8mp-mnt-pocket-reform.dtb
Installing /usr/lib/linux-image-6.12.17-mnt-reform-arm64/freescale/imx8mp-mnt-pocket-reform.dtb into /boot/dtbs/6.12.17-mnt-reform-arm64/freescale/imx8mp-mnt-pocket-reform.dtb
Taking backup of imx8mp-mnt-pocket-reform.dtb.
Installing new imx8mp-mnt-pocket-reform.dtb.
flash-kernel: installing version 6.12.17-mnt-reform-arm64
Generating boot script u-boot image... done.
Installing new boot.scr.
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
0 upgraded, 0 newly installed, 1 reinstalled, 0 to remove and 136 not upgraded.
Need to get 0 B/71.4 MB of archives.
After this operation, 0 B of additional disk space will be used.
E: Can not write log (Is /dev/pts mounted?) - posix_openpt (19: No such device)
(Reading database ... 318170 files and directories currently installed.)
Preparing to unpack .../linux-image-6.12.17-mnt-reform-arm64_6.12.17-1+reform20250310T174627Z_arm64.deb ...
Unpacking linux-image-6.12.17-mnt-reform-arm64 (6.12.17-1+reform20250310T174627Z) over (6.12.17-1+reform20250310T174627Z) ...
Setting up linux-image-6.12.17-mnt-reform-arm64 (6.12.17-1+reform20250310T174627Z) ...
/etc/kernel/postinst.d/dkms:
Automatic installation of modules for kernel 6.12.17-mnt-reform-arm64 was skipped since the kernel headers for this kernel do not seem to be installed.
/etc/kernel/postinst.d/initramfs-tools:
update-initramfs: Generating /boot/initrd.img-6.12.17-mnt-reform-arm64
Using DTB: freescale/imx8mp-mnt-pocket-reform.dtb
Installing /usr/lib/linux-image-6.12.17-mnt-reform-arm64/freescale/imx8mp-mnt-pocket-reform.dtb into /boot/dtbs/6.12.17-mnt-reform-arm64/freescale/imx8mp-mnt-pocket-reform.dtb
Taking backup of imx8mp-mnt-pocket-reform.dtb.
Installing new imx8mp-mnt-pocket-reform.dtb.
Installing /usr/lib/linux-image-6.12.17-mnt-reform-arm64/freescale/imx8mp-mnt-pocket-reform.dtb into /boot/dtbs/6.12.17-mnt-reform-arm64/freescale/imx8mp-mnt-pocket-reform.dtb
Taking backup of imx8mp-mnt-pocket-reform.dtb.
Installing new imx8mp-mnt-pocket-reform.dtb.
flash-kernel: deferring update (trigger activated)
/etc/kernel/postinst.d/zz-flash-kernel:
Using DTB: freescale/imx8mp-mnt-pocket-reform.dtb
Installing /usr/lib/linux-image-6.12.17-mnt-reform-arm64/freescale/imx8mp-mnt-pocket-reform.dtb into /boot/dtbs/6.12.17-mnt-reform-arm64/freescale/imx8mp-mnt-pocket-reform.dtb
Taking backup of imx8mp-mnt-pocket-reform.dtb.
Installing new imx8mp-mnt-pocket-reform.dtb.
Installing /usr/lib/linux-image-6.12.17-mnt-reform-arm64/freescale/imx8mp-mnt-pocket-reform.dtb into /boot/dtbs/6.12.17-mnt-reform-arm64/freescale/imx8mp-mnt-pocket-reform.dtb
Taking backup of imx8mp-mnt-pocket-reform.dtb.
Installing new imx8mp-mnt-pocket-reform.dtb.
flash-kernel: deferring update (trigger activated)
Processing triggers for flash-kernel (3.108+reform1) ...
Using DTB: freescale/imx8mp-mnt-pocket-reform.dtb
Installing /usr/lib/linux-image-6.12.17-mnt-reform-arm64/freescale/imx8mp-mnt-pocket-reform.dtb into /boot/dtbs/6.12.17-mnt-reform-arm64/freescale/imx8mp-mnt-pocket-reform.dtb
Taking backup of imx8mp-mnt-pocket-reform.dtb.
Installing new imx8mp-mnt-pocket-reform.dtb.
flash-kernel: installing version 6.12.17-mnt-reform-arm64
Generating boot script u-boot image... done.
Taking backup of boot.scr.
Installing new boot.scr.
This script selects your preferred boot medium. It writes your choice to the file /etc/fstab

the /boot partition /dev/mmcblk2p1 referenced by the rootfs at /dev/reformvg/root remains the same
/etc/fstab already contains the correct entries
update-initramfs: Generating /boot/initrd.img-6.12.17-mnt-reform-arm64
Using DTB: freescale/imx8mp-mnt-pocket-reform.dtb
Installing /usr/lib/linux-image-6.12.17-mnt-reform-arm64/freescale/imx8mp-mnt-pocket-reform.dtb into /boot/dtbs/6.12.17-mnt-reform-arm64/freescale/imx8mp-mnt-pocket-reform.dtb
Taking backup of imx8mp-mnt-pocket-reform.dtb.
Installing new imx8mp-mnt-pocket-reform.dtb.
Installing /usr/lib/linux-image-6.12.17-mnt-reform-arm64/freescale/imx8mp-mnt-pocket-reform.dtb into /boot/dtbs/6.12.17-mnt-reform-arm64/freescale/imx8mp-mnt-pocket-reform.dtb
Taking backup of imx8mp-mnt-pocket-reform.dtb.
Installing new imx8mp-mnt-pocket-reform.dtb.
flash-kernel: installing version 6.12.17-mnt-reform-arm64
Generating boot script u-boot image... done.
Taking backup of boot.scr.
Installing new boot.scr.
Your /boot partition is on emmc (/dev/mmcblk2p1).
Restart MNT Reform (type: reboot) after saving your work to activate the changes.
  0 logical volume(s) in volume group "reformvg" now active
/boot/flash.bin is up-to-date -- not downloading it again
W: Flashing u-boot to eMMC on MNT Pocket Reform with i.MX8MP Module is not without risk.
W: If you flash the wrong u-boot or if the flashing process goes wrong, it is
W: possible to soft-brick your board. Restoring it might need some extra hardware.
W: Please only proceed if you are sure that the benefits outweigh the risks for you.
Are you sure you want to proceed? [y/N] y
Writing /boot/flash.bin to /dev/mmcblk2boot0
3979+1 records in
3979+1 records out
2037432 bytes (2.0 MB, 1.9 MiB) copied, 0.271781 s, 7.5 MB/s

But, still WiFi device is not recognized, and when I launch sudo apt full-upgrade, I get this… keep prompting to remove linux-image-6.12.17-mnt-reform-arm64

shigeru@mntpr-0:~$ sudo apt full-upgrade
The following packages were automatically installed and are no longer required:
  libabsl20230802  usr-is-merged
Use 'sudo apt autoremove' to remove them.

Not upgrading:
  libkmod2

REMOVING:
  linux-image-6.12.17-mnt-reform-arm64

Summary:
  Upgrading: 0, Installing: 0, Removing: 1, Not Upgrading: 1
  Freed space: 152 MB

Continue? [Y/n] 

While booted from µSD, WiFi device was recognized and was able to get on wLAN. What do I need to do to fix this issue? Please help.

Thank you.

Yaaay! :partying_face:

Thank you for testing my updated script. I pressed the merge button on the merge for the changes you just tested. This means that you’ll hopefully be the last person who got stuck at that point.

This should not happen. Can you run sudo reform-check on your system and paste the output here?

This is valuable information. It means that your hardware is OK which is good to know and probably also relieving for you. So this is a software issue. We have two ways forward regarding your wifi:

  • to make sure that the problem is not the most recent version of packages in unstable I triggered the reform-system-image pipeline to create some fresh system images. You could flash the image for your platform on your sd-card, boot that and see if wifi is there or not. If it is, then it’s not missing due to upgraded packages but is a configuration issue. If it’s missing then it’s likely that some package upgraded and broke things. Here are the images: Artifacts · build (#7897) · Jobs · Reform / reform-system-image · GitLab
  • have a look at the log files. I’m not the best person to advice you where to look to debug wifi issues but maybe you find something interesting by running sudo journalctl -u NetworkManager

Thank you for being persistent. This helps making the system better for everybody.

Hello,

Here is the output from sudo reform-check, I guess I have to run sudo reform-flash-uboot?

shigeru@mntpr-0:~$ sudo reform-check
[sudo] password for shigeru: 
I: Contents of /proc/device-tree/model: MNT Pocket Reform with i.MX8MP Module
I: `uname -a` output: Linux mntpr-0 6.12.17-mnt-reform-arm64 #1 SMP Debian 6.12.17-1+reform20250310T174627Z (2025-03-10) aarch64 GNU/Linux
I: Version of linux-image-mnt-reform-arm64: 6.12.17-1+reform20250310T174627Z
I: Version of reform-tools: 1.69-1+reform1
I: Mount source of /: /dev/reformvg/root (LVM vg 'reformvg' on LUKS device 'reform_crypt' on SSD)
I: Mount source of /boot: /dev/mmcblk2p1 (eMMC)
I: not installed:  blueman fdisk firmware-mediatek hdparm iw linux-headers-mnt-reform-arm64 linux-image-mnt-reform-arm64 lshw nvme-cli reform-qcacld2 
I: the following files differ from how they are shipped by reform-tools (ignore /var/lib/alsa/asound.state):
??5??????   /var/lib/alsa/asound.state
E: reform2_lpc is not loaded
E: /usr/lib/modules/6.12.17-mnt-reform-arm64/updates/dkms/reform2_lpc.ko{.xz} does not exist
E: the linux header package linux-headers-6.12.17-mnt-reform-arm64 for the currently running kernel is not installed
W: /boot/flash.bin doesn't exist
W: You can download the latest version by running as root:
reform-flash-uboot

Thank you.

Thank you, that was helpful.

I have no clue how it can happen that apt would suggest to autoremove linux-image-6.12.17-mnt-reform-arm64 even though you have linux-image-mnt-reform-arm64 which depends on it installed. But this is not your wifi problem.

What wifi card do you have? You do not have firmware-mediatek installed which might explain why you don’t have wifi.

You also don’t have reform-qcacld2 installed which is responsible for wifi on the default imx8mplus setup.

You don’t have linux-headers-mnt-reform-arm64 installed. You should install it to allow compilation of reform2_lpc. There is also a later message related to this:

By installing linux-headers-mnt-reform-arm64 you get battery status back.

It also says that you don’t have linux-image-mnt-reform-arm64. But then how did it print the version above? I just learned that dpkg happily prints the version even of removed packages. Another thing I have to fix. But this explains why apt would autoremove linux-image-6.12.17-mnt-reform-arm64.

You could but it’s unrelated to your problems I think.

In summary, I think you should install the following packages:

sudo apt install reform-qcacld2 firmware-mediatek linux-headers-mnt-reform-arm64 linux-image-mnt-reform-arm64

Maybe I should add some more explicit checks for whether the kernel, the headers and (on imx8mplus) reform-qcacld2 are installed to reform-check.

Hello,

Super! The battery indicator is back and WiFi is back also.

After installing those packages and reboot, sudo apt full-upgrade is no longer trying to remove linux-image-6.12.17-mnt-reform-arm64 very strange…

After the recovery from major issues, I also run sudo reform-flash-uboot then ran sudo reform-check and here is the output.

shigeru@mntpr-0:~$ sudo reform-check
I: Contents of /proc/device-tree/model: MNT Pocket Reform with i.MX8MP Module
I: `uname -a` output: Linux mntpr-0 6.12.17-mnt-reform-arm64 #1 SMP Debian 6.12.17-1+reform20250310T174627Z (2025-03-10) aarch64 GNU/Linux
I: Version of linux-image-mnt-reform-arm64: 6.12.17-1+reform20250310T174627Z
I: Version of reform-tools: 1.69-1+reform1
I: Mount source of /: /dev/reformvg/root (LVM vg 'reformvg' on LUKS device 'reform_crypt' on SSD)
I: Mount source of /boot: /dev/mmcblk2p1 (eMMC)
I: the following files differ from how they are shipped by reform-tools (ignore /var/lib/alsa/asound.state):
??5??????   /var/lib/alsa/asound.state

Just wondering about the last two lines, should I be concerned?

Thank you.

No that’s not strange but expected. You installed linux-image-mnt-reform-arm64 which depends on linux-image-6.12.17-mnt-reform-arm64 and thus linux-image-6.12.17-mnt-reform-arm64 will no longer be considered for autoremoval. The problem before was that you removed the meta package which always pulls in the latest kernel package.

The second to last line says “ignore /var/lib/alsa/asound.state” so no, you should not be concerned about that line.