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

Bug#663504:



I recently installed Debian 7.0.4 and noted multiple problems: with
the check-missing-firmware phase

1. check-missing-firmware "missing files" list is incorrect. Installer
detects that wifi needs Broadcom firmware and says "The missing
firmware files are: b43/ucode29_mimo.fw b43-open/ucode29_mimo.fw". The
list is incorrect and incomplete. The list contains only two files -
there are many more that are required. The list contains two files,
suggesting that both are needed - in fact only one copy of the file is
needed (the loader looks in two directories).
   - This bug seems to be caused by the installer interpreting the
kernel firmware loading in an overly simple way. The firmware loader
attempts to load files sequentially, and looks for them in two places.
If it does not find a file, it will immediately quit and print the two
locations that it looked for the file. The Debian installer interprets
and reports this pair of locations as an absolute list of missing
files. It is not an absolute list, it is a duplicate pair for a single
missing file.
   - Even if the file is present (eg. b43/ucode29_mimo.fw exists),
this function still reports b43-open/ucode29_mimo.fw as missing! It's
not missing, it's just an alternative location for the same file.

2. The installer should copy any firmware files on the USB drive in
one go. Because of the way the installer copies and loads one file at
a time, even if the user has done everything perfectly (all required
firmwares ready on a USB drive) the "check missing files" prompt will
pop up several times (3 in my case) and the user just has to keep
clicking "yes". Any normal user is going to think that this is broken,
only users who are really paying attention and watching the logs will
notice that it is only loading one file every time they click
"Continue".

3. check-missing-firmware does not work with a USB drive that
contains a partition table. When a USB drive with a single partition
containing the firmware is inserted, it reports that the firmware was
not found. The firmware is on partition /dev/sdc1. From the log I can
see that the function is attempting to scan drives and partitions
detected on the system, and mount them as FAT file systems. The
problem is that it does not try the USB drive partition 1 at
/dev/sdc1. It does try /dev/{sda sda sdc sdc sda1 sda1 sda sda sdc sdc
sda1 sda1 sda2 sda2 sda3 sda3} in that order. So it is trying to mount
/dev/sdc (the USB drive) but not /dev/sdc1 (the actual partition).
   - Workaround is to format the USB drive without a partition table,
e.g. "mkfs.vfat -I /dev/sdc" (mkfs.vfat actually expects a partition
table, -I override forces it to use the entire device)


Reply to: