Opened 6 years ago

Closed 5 years ago

Last modified 5 years ago

#10464 closed bug (fixed)

wifi card Intel Pro 2915 ABG not working

Reported by: lukove Owned by: nobody
Priority: normal Milestone: R1
Component: Drivers/Network/iprowifi2100 Version: R1/Development
Keywords: Cc:
Blocked By: Blocking:
Has a Patch: yes Platform: All

Description

i try to install Haiku on my old thinkpad x41t, where is Intel Pro 2915ABG wireless network card.

i use nightly build and install-wifi-firmwares.sh via ethernet.

i think the issue is that wifi driver ipro2200 is not unpacked correctly in /boot/system/data/firmware/iprowifi2200

and iprowifi2100 is not installed

thx.

Attachments (12)

0001-Specify-the-location-of-the-.PackageInfo-file.patch (869 bytes ) - added by luroh 6 years ago.
2100_syslog.txt (199.6 KB ) - added by taos 6 years ago.
syslog from Acer TM800 with Intel Pro Wireless 2100 (hrev47259)
2100_syslog.old.txt (512.0 KB ) - added by taos 6 years ago.
syslog from Acer TM800 with Intel Pro Wireless 2100 (hrev47259)
2100_listdev.txt (2.7 KB ) - added by taos 6 years ago.
"listdev" output from Acer TM800 with Intel Pro Wireless 2100 (hrev47259)
2100_ifconfig.txt (688 bytes ) - added by taos 6 years ago.
"ifconfig" output from Acer TM800 with Intel Pro Wireless 2100 (hrev47259)
2100_listimage _ grep drivers.txt (1.5 KB ) - added by taos 6 years ago.
"listimage | grep drivers" output from Acer TM800 with Intel Pro Wireless 2100 (hrev47259)
2200_syslog.txt (470.0 KB ) - added by taos 6 years ago.
syslog from Acer TM8100 with Intel Pro Wireless 2200 (hrev47259)
2200_listdev.txt (3.3 KB ) - added by taos 6 years ago.
"listdev" output from Acer TM8100 with Intel Pro Wireless 2200 (hrev47259)
2200_ifconfig.txt (864 bytes ) - added by taos 6 years ago.
"ifconfig" output from Acer TM8100 with Intel Pro Wireless 2200 (hrev47259)
2200_listimage _ grep drivers.txt (1.6 KB ) - added by taos 6 years ago.
"listimage | grep drivers" output from Acer TM8100 with Intel Pro Wireless 2200 (hrev47259)
0001-Add-iprowifi2100-firmware-to-image.patch (1.0 KB ) - added by luroh 6 years ago.
0002-Fix-offline-installation-of-iprowifi2100-and-iprowif.patch (2.2 KB ) - added by luroh 6 years ago.

Download all attachments as: .zip

Change History (38)

comment:1 by korli, 6 years ago

Please see here and #5523. The archive is supposed to be on the image, but not unpacked. Unpacking is like agreeing the license. FreeBSD requires for instance the user to modify a config file (legal.<name>.license_ack).

comment:2 by br3wski3, 6 years ago

I have agreed to the license by virtue of running the script and manually tried extracting the tarball but the directory is readonly for the package manager. Any ideas!?

comment:3 by luroh, 6 years ago

br3wski3, could you please try the following:

  1. Copy /boot/system/bin/install-wifi-firmwares.sh to your Desktop
  2. Make your copy writable
  3. Towards the end of the file, there's a row 'package create -C system wifi_firmwares-1-any.hpkg', change that to 'package create -C system -i .PackageInfo wifi_firmwares-1-any.hpkg'
  4. Save your file and execute it
  5. Save a copy of your syslog (for comparison) and reboot

comment:4 by diver, 6 years ago

Owner: changed from nobody to mmadia
Status: newassigned

luroh: I've tried it and it works now. Nice catch!

comment:5 by luroh, 6 years ago

Thanks for verifying, diver! Attaching a patch for good measure.

comment:6 by jessicah, 6 years ago

Resolution: fixed
Status: assignedclosed

Fixed in hrev47242

comment:7 by br3wski3, 6 years ago

Thank you luroh and jessicah, greatly appreciated.

I apologize that the update notifications got lost in my spam folder and I recently found out about the activity. At this time, I can confirm that the fix applied in hrev47242 indeed mitigates the issue via a recent nightly.

Thanks again! -br3wski3

comment:8 by taos, 6 years ago

Unfortunately, firmware for iprowifi2100 is still not installed (tested with the latest nightly hrev47259 and a self-built "release" hrev47271). After executing install-wifi-firmwares.sh iprowifi2200 and iprowifi2100 are both added to wifi_firmwares_1_any.hpkg, however, only iprowifi2200 shows up in haiku.hpkg. When building haiku yourself it's the same: only firmware for iprowifi2200 is copied to a subdirectory in package-build and then made part of a package (haiku.hpkg, as far as I remember).

comment:9 by umccullough, 6 years ago

Correct, we cannot include the intel 2100 firmware in any official package because there are redistribution restrictions requiring a user to agree to Intel's license before downloading it.

As such, the intel-wifi-firmwares.sh script downloads the firmware and creates a package on the fly after the user has agreed to Intel's license.

Sorry that it needs to be this way - perhaps we could work out an alternative license agreement with Intel (like other OSes have likely done), but that comes with some effort. I tried to contact them on behalf of Haiku, Inc. some years back and was basically ignored.

in reply to:  8 ; comment:10 by umccullough, 6 years ago

Replying to taos:

After executing install-wifi-firmwares.sh iprowifi2200 and iprowifi2100 are both added to wifi_firmwares_1_any.hpkg, however, only iprowifi2200 shows up in haiku.hpkg.

The hardware does work after this step right? The wifi_firmwares_1_any.hpkg should be mounted in the system and the firmwares available for the driver to use. You *may* have to reboot unfortunately, I haven't tested that in a long time. The same issue exists with some of my broadcom wifi chips, and this hpkg creation with the firmware in it has worked in the past.

by taos, 6 years ago

Attachment: 2100_syslog.txt added

syslog from Acer TM800 with Intel Pro Wireless 2100 (hrev47259)

by taos, 6 years ago

Attachment: 2100_syslog.old.txt added

syslog from Acer TM800 with Intel Pro Wireless 2100 (hrev47259)

by taos, 6 years ago

Attachment: 2100_listdev.txt added

"listdev" output from Acer TM800 with Intel Pro Wireless 2100 (hrev47259)

by taos, 6 years ago

Attachment: 2100_ifconfig.txt added

"ifconfig" output from Acer TM800 with Intel Pro Wireless 2100 (hrev47259)

by taos, 6 years ago

"listimage | grep drivers" output from Acer TM800 with Intel Pro Wireless 2100 (hrev47259)

by taos, 6 years ago

Attachment: 2200_syslog.txt added

syslog from Acer TM8100 with Intel Pro Wireless 2200 (hrev47259)

by taos, 6 years ago

Attachment: 2200_listdev.txt added

"listdev" output from Acer TM8100 with Intel Pro Wireless 2200 (hrev47259)

by taos, 6 years ago

Attachment: 2200_ifconfig.txt added

"ifconfig" output from Acer TM8100 with Intel Pro Wireless 2200 (hrev47259)

by taos, 6 years ago

"listimage | grep drivers" output from Acer TM8100 with Intel Pro Wireless 2200 (hrev47259)

in reply to:  10 ; comment:11 by taos, 6 years ago

Replying to umccullough:

Replying to taos:

After executing install-wifi-firmwares.sh iprowifi2200 and iprowifi2100 are both added to wifi_firmwares_1_any.hpkg, however, only iprowifi2200 shows up in haiku.hpkg.

The hardware does work after this step right? The wifi_firmwares_1_any.hpkg should be mounted in the system and the firmwares available for the driver to use. You *may* have to reboot unfortunately, I haven't tested that in a long time. The same issue exists with some of my broadcom wifi chips, and this hpkg creation with the firmware in it has worked in the past.

1.) No, iprowifi2100 does not work because there seems to be no extracted firmware (there are corresponding messages in syslog - see 2100_syslog.txt and 2100_syslog.old.txt). Even after several reboots this does not change. See also attached terminal outputs of "listdev", "ifconfig", and "listimage | grep drivers" (2100_...).

2.) Yes, iprowifi2200 works because extracted firmware from wifi_firmwares_1_any.hpkg is mounted and used by the driver. For comparison, syslog and terminal outputs are attached (2200_...).

in reply to:  11 ; comment:12 by umccullough, 6 years ago

Replying to taos:

1.) No, iprowifi2100 does not work because there seems to be no extracted firmware (there are corresponding messages in syslog - see 2100_syslog.txt and 2100_syslog.old.txt). Even after several reboots this does not change. See also attached terminal outputs of "listdev", "ifconfig", and "listimage | grep drivers" (2100_...).

Aha, I was confused because you said it was in the generated package, so I assumed that meant it showed up when mounted.

It sounds like the install-wifi-firmwares.sh script is still lacking then, as it should download both, and mount both in the right location.

http://cgit.haiku-os.org/haiku/tree/data/bin/install-wifi-firmwares.sh#n165

in reply to:  12 comment:13 by taos, 6 years ago

Replying to umccullough:

Aha, I was confused because you said it was in the generated package, so I assumed that meant it showed up when mounted.

Sorry. Using Expander to look at the contents of the generated package you can see entries for both firmwares. However, only iprowifi2200 gets extracted/mounted/whatever so that it can be used by the driver. Under /boot/system/data/firmware only a subdirectory for iprowifi2200 is added (this subdirectory exists in a self-built haiku_....hpkg even before executing install-wifi-firmwares.sh, so I'm not sure if this directory exists in a freshly installed nightly, too).

comment:14 by umccullough, 6 years ago

Thanks for the clarification. I don't think I have any ipw2100 hardware around to test with, but we can check to see what path the driver is expecting the fw to be at, etc. and try to fix that first.

comment:15 by luroh, 6 years ago

Resolution: fixed
Status: closedreopened

Indeed, install-wifi-firmwares needs some more love. I'm going to try my hand at this.

comment:16 by luroh, 6 years ago

Owner: changed from mmadia to luroh
Status: reopenedin-progress

comment:17 by luroh, 6 years ago

Has a Patch: set

comment:18 by luroh, 6 years ago

  • An ipw2100 firmware archive was once upon a time added to the image by the old ipw2100 driver, but not by the newer iprowifi2100 driver. Fixed in patch 1.
  • Although firmware archives for the Intel Pro Wireless 2xxx families were present in the default image, install-wifi-firmwares.sh always tried to download them, and failed to install them if it couldn't. Fixed in patch 2.

Note that offline installation may still be a bit wonky due to how package_daemon currently behaves in an offline scenario.

comment:19 by luroh, 6 years ago

Fixed typo.

comment:20 by taos, 6 years ago

The difference I've seen between iprowifi2100 and iprowifi2200 after executing install-wifi-firmwares.sh might actually be related to #10914.

As mentioned by luroh, at the moment only firmware for ipw2200 is part of haiku.hpkg and thus included in nightly images. However, just having a "iprowifi2200" directory with an compressed tgz file in /system/data/firmwares/ doesn't mean it's actually activated. It's only activated when you can see a number of extracted firmware files.

When I first tried to install the firmware on my laptop computer, the compressed firmware files were downloaded, packed into wifi_firmwares_1_any.hpkg and - according to a corresponding "activated-packages" file in one of the subfolders in /system/packages/administrative - actually mounted/activated. Unfortunately, it seems this lasted only about 12 s because then the entry for wifi_firmwares_1_any.hpkg was removed from the list again (status in HaikuDepot was still "active"). A few days later I repeated the installation procedure with another computer that used an iprowifi2200 (I think without network connection) - this time everything worked as expected, all firmware files were extracted and mounted and wifi_firmwares_1_any.hpkg was again added to "activated-packages". Since then, wifi_firmwares_1_any.hpkg stayed activated and I could also - for the first time - successfully establish a wifi connection with my iprowifi2100 laptop.

I repeated the procedures with a freshly installed nightly. And again, after the first installation attempt wifi_firmwares_1_any.hpkg was added to "activated-packages" and removed only seconds later - I never had the time to actually see folder /system/data/firmwares/iprowifi2100 pop up. Package status in HaikuDepot was still shown as active. This time, the same happened when I executed wifi-firmwares.sh on the iprowifi2200 computer - activation followed by deactivation only seconds later. To activate the package I manually added an entry in /system/packages/administrative/activated-packages.

comment:21 by luroh, 5 years ago

Owner: changed from luroh to nobody
Status: in-progressassigned

The patches still need review.

comment:22 by luroh, 5 years ago

korli, may we solicit some drive-by assistance here from you?

comment:23 by korli, 5 years ago

luroh, patches look OK for me.

comment:24 by korli, 5 years ago

Resolution: fixed
Status: assignedclosed

Applied in hrev47749. Please test and reopen if needed.

comment:25 by luroh, 5 years ago

Thanks a lot korli. I found an old T42 laptop with an iprowifi2200 chipset [8086:4220] and installing the firmware for it while being offline does indeed work now (it required a reboot after running install-wifi-firmwares).

comment:26 by taos, 5 years ago

Offline installation works for iprowifi2100, too. Thanks!

Note: See TracTickets for help on using tickets.