Brian Potkin wrote:
> I have a USB device using the zd1211rw module. It behaves differently in
> that a wlan0 interface is detected and can be configured. However,
> $DEVPATH is the same as with the p54usb and modprobe still attempts to
> remove usbcore.
I have a zd1211rw so was able to reproduce this. Probably any USB wifi
needing firmware has this problem.
The devpath I got was /sys/devices/platform/orion-ehci.0/usb1/1-1/1-1.4
This has a product file containing "USB2.0 WLAN", manufacturer
containing ZyDAS and so on, but its driver/module link points to
/sys/bus/usb/drivers/usbcore . The information about the actual driver for
this device is in 1-1.4:1.0/driver and 1-1.4:1.0/modalias .
All I can think to do is a special case. Assuming this only affects USB
and not some other bus, this should work ok:
diff --git a/check-missing-firmware.sh b/check-missing-firmware.sh
index 95106d4..7835b39 100755
--- a/check-missing-firmware.sh
+++ b/check-missing-firmware.sh
@@ -98,9 +98,22 @@ check_missing () {
if grep -q "^$fwfile$" $DENIED 2>/dev/null; then
continue
fi
-
- modules="$module${modules:+ $modules}"
+
files="$fwfile${files:+ $files}"
+
+ if [ "$module" = usbcore ]; then
+ # Special case for USB bus, which puts the
+ # real module information in a subdir of
+ # the devpath.
+ for dir in $(find "$devpath" -maxdepth 1 -mindepth 1 -type d); do
+ module=$(get_module "$dir")
+ if [ -n "$module" ]; then
+ modules="$module${modules:+ $modules}"
+ fi
+ done
+ else
+ modules="$module${modules:+ $modules}"
+ fi
done
done
--
see shy jo
Attachment:
signature.asc
Description: Digital signature