Public bug reported:

Booting the live installer gave a UnicodeDecodeError when trying to read
my Wi-Fi card as there are some non-ASCII characters appended to its
name as it appears in Window's Disk Management (2nd image in the
uploaded PDF). The "Friendly Name" as it appears in the Windows Registry
is "MediaTek Wi-Fi 6E MT7922 (RZ616) 160MHz PCIe Adapter", and the
description is "@oem22.inf,%rz616.devicedescexc%;MediaTek Wi-Fi 6E
MT7922 (RZ616) 160MHz PCIe Adapter". Those are both similar but
different to the name that appears on the installer, but it has "USB WW
WLAN<?>R<<?><?>N/A" appended, where "<?>" are non-ASCII characters that
are unable to be displayed. This is likely a bug in the Wi-Fi adapter's
firmware or EEPROM data, but giving a fatal crash from being unable to
handle Unicode characters is a bug in Subiquity. Since Ubuntu should be
designed for general users unlike other more involved distros like Arch,
encoding issues should all be handled by Subiquity and not by the user.

The only workaround I found was to disable the adapter before the error
appeared (this had to be done in < 5 seconds), trying to disable the
adapter after the error by re-running the installer just gives the same
error, and subsequent runs of the installer result in the loading icon
just spinning forever with nothing else being shown. If the name I had
to type was longer, I probably wouldn't have been able to remove the
module before the error occurred, so this fix isn't reliable. Walking
through the installer after fixing the network adapter issue, it also
quit at random button presses the first 3 times, but eventually I was
able to install Ubuntu. I'm not sure whether this is related to removing
the module, but I'll include it in this bug report in case it is. This
issue occurred with another USB, and I was able to install Debian on my
laptop without any issues.

I assume this bug can be reproduced by any Wi-Fi network adapter with
non-ASCII characters presented. The fix for this could involve either
just using UTF-16 as the encoding to be used for the network adapter
names if that's possible to do when calling the Python libraries that
end up calling `encode_unicode_string`, or by having a catch block to
attempt to decode the adapter name using UTF-16.

** Affects: subiquity (Ubuntu)
     Importance: Undecided
         Status: New

** Attachment added: "PDF of images showing the traceback, network adapter with 
a non-ASCII name, and the workaround."
   
https://bugs.launchpad.net/bugs/2121978/+attachment/5905043/+files/subiquity-bug-pics.pdf

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2121978

Title:
  Subiquity crashes for non-ASCII network adapter names

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/subiquity/+bug/2121978/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to