1 2 Previous Next 27 Replies Latest reply on Aug 8, 2015 4:46 AM by RemedioCino

    Wifi mPCIe compatibility

    Adloram

      At the Rome fablab we're in need to add wifi capability to the nearly 6 Galileo's received and we were wondering about compatibility issues. We found different mPCIe cards (half sized, since we're on keeping everything as small as possible) on the biggest bay available to us (Intel vs Qualcomm vs Azure vs others everything under similar price tags with b/g/n capability), however different are the wifi cards we could take out from old laptops as well, also because we're going to assemble somewhat like a toolkit for everyone coming in. A lot of them report a common chipset, the Atheros AR5B95. We read from the Arduino website under the Galileo specifications that the board mPCIe slot is 2.0 compliant, should we just look for that? Because on a lot of seller pages there's not any specification other than the chipset one and also under the generic wikipedia page for PCIe there's not a clear one. Should we be sure that since there's a 2.0 slot everything we can find on the market is compatible (even older bigger mpcie, not half-sized)? What about drivers?

       

      Thanks,

      Massimo

        • 1. Re: Wifi mPCIe compatibility
          fibasile

          For simplicity I would go with a usb-based wifi card, there are several cheap ones and really small in size.

           

          When choosing please make sure it doesn't require an externally powered hub to work.

           

          A good list of linux supported cards is available at RPi USB Wi-Fi Adapters - eLinux.org

          1 of 1 people found this helpful
          • 2. Re: Wifi mPCIe compatibility
            flummer

            Hi Massimo,

             

            After getting back from Rome, I went straight for my bin of old laptop parts and found a PCIe mini card (I think it came out of a Thinkpad). It's an Intel 512AN_MMW and after putting the larger Linux image on an SD card and adding a few more WiFi card firmware images to the distribution, it worked out of the box. I also used an old antenna scavenged from a laptop screen.

             

            This is NOT a half-sized card, so it snaps nicely into the little plastic clips.

             

            I have only tried this one card, but my guess is that most cards that follow the PCIe mini card standard will work (if drivers exists for Linux), but be aware that there are no clips to attach a half-sized card, those will need an adapter to sit correctly.

             

            If i had found a newer card, the firmware images for those would probably have been there already.

             

            Hope it helps,

             

            /Thomas

            • 3. Re: Wifi mPCIe compatibility
              arduino_4_life

              Massimo,

                   If you use the large SD image then any Intel Centrino Mini PCIe card should work. The drivers are there, and the board is set up to work with a centrino card as the default for arduino sketches.

              Erik.

              1 of 1 people found this helpful
              • 4. Re: Wifi mPCIe compatibility
                Adloram

                Thanks everyone for the answers.

                 

                Massimo

                • 5. Re: Wifi mPCIe compatibility
                  pivan

                  @flummer

                   

                  can you please explain how you added support for WiFi chipset different from the recent Centrino? is there a doc?

                   

                  I have a 3945ABG (iwlegacy driver) and I'm still trying to deal with yocto and recipes in order to use it..no success so far and no useful info to add to the discussion (ehm, just one: it takes several hours and more than 80GB disk space to complete a "bitbake world" command )

                   

                  ivan

                  • 6. Re: Wifi mPCIe compatibility
                    Trush

                    @pivan - I find myself in the same situation as yours. I salvaged an old laptop 3945ABG mPCIe card as well. I tried downloading the drivers from here  http://wireless.kernel.org/en/users/Drivers/iwlegacy  and copying the *ucode file to the /lib/firmware/ dir. I don't see the card showing up after reboot using iwconfig/ifconfig. Let me know if you have better luck.

                    • 7. Re: Wifi mPCIe compatibility
                      flummer

                      Hi Ivan and Trush,

                       

                      I just set up a little virtual machine running Debian, and there is a package called firmware-iwlwifi (Debian -- Details of package firmware-iwlwifi in wheezy) that has a firmware file I think will work with your cards - The file is called: iwlwifi-3945-2.ucode so worth a try if you ask me. It's in the non-free section, so you need to add "non-free" at the end of URL's in /etc/apt/sources.list for apt if you want to use that. When you have the file, just copy it over to the /lib/firmware folder inside the image-full-clanton.ext3 image file that goes on the SD card.

                       

                      When I run ifconfig right after a boot, I don't see the wlan0 in the list, but after bringing it up using ifup wlan0 it shows up. I have configured my AP in /etc/wpa_supplicant.conf but iwlist wlan0 scan should work without that.

                       

                      I use a serial cable attached to the mini jack connector to both monitor the boot sequence and interact with the console afterwards.

                       

                      Hope this helps you guys to get connected via wifi.

                       

                      /Thomas

                      • 8. Re: Wifi mPCIe compatibility
                        pivan

                        Thank you Thomas

                        Trush I have the same issue. I'm trying to compile a new kernel but does not work

                        Kernel should support the 3945 now but

                        - yocto does not build the sysimage with the firmware file

                        - if I copy the file from yocto build manually, card is not recognized

                         

                        still trying..

                        ivan

                         

                        p.s.

                        Since the card was from a Dell laptop with wifi/bluetooth it seems I have Bluetooth now :-)

                        from dmesg:

                        [   12.385336] Intel(R) Wireless WiFi driver for Linux, in-tree:

                        [   12.391268] Copyright(c) 2003-2012 Intel Corporation

                        [   12.665795] Bluetooth: Core ver 2.16

                        [   12.671397] NET: Registered protocol family 31

                        [   12.675896] Bluetooth: HCI device and connection manager initialized

                        [   12.683095] Bluetooth: HCI socket layer initialized

                        [   12.688109] Bluetooth: L2CAP socket layer initialized

                        [   12.693602] Bluetooth: SCO socket layer initialized

                        [   12.711600] usbcore: registered new interface driver btusb

                        ...

                        [ 1463.139565] Bluetooth: RFCOMM TTY layer initialized

                        [ 1463.146891] Bluetooth: RFCOMM socket layer initialized

                        [ 1463.152220] Bluetooth: RFCOMM ver 1.11

                        • 9. Re: Wifi mPCIe compatibility
                          Trush

                          pivan, from the thread below, it looks like the stock image does not support the iwlegacy firmware.

                          https://communities.intel.com/thread/45872

                           

                          I tried re-building an image using the instructions provided below, but am seeing other errors during bitbake which I have to resolve.

                          https://communities.intel.com/thread/45878

                          • 10. Re: Wifi mPCIe compatibility
                            pivan

                            Ok, Trush starting from your links I advanced a little bit more. Here my findings.

                             

                            Actually, this will allow to configure and compile the kernel:

                             

                            cd meta-clanton_v0.7.5

                            source poky/oe-init-build-env yocto_build

                            bitbake linux-yocto-clanton -c menuconfig

                            bitbake image-full

                             

                            (this link from your post helped in defining the correct target: http://www.malinov.com/Home/sergey-s-blog/intelgalileo-buildinglinuximage )

                             

                            Then:

                            - manually copied the firmware to /lib/firmware  (I took the latest for my 3945 card from here: http://wireless.kernel.org/en/users/Drivers/iwlegacy )

                             

                            - If I try to manually modprobe the modules (iwl3945 in my case) no errors, but no device appear

                             

                            Recognized (dmesg):

                            [   12.616194] iwl3945: Intel(R) PRO/Wireless 3945ABG/BG Network Connection driver for Linux, in-tree:s

                            [   12.625519] iwl3945: Copyright(c) 2003-2011 Intel Corporation

                             

                            Driver added to /etc/modules-load.d/auto.conf  to load them at boot, however, no wlan0 device yet!

                            I'm so cloooose!! :-)

                             

                            Maybe tmw! thanks

                             

                            -ivan

                            • 11. Re: Wifi mPCIe compatibility
                              Trush

                              Ivan, did you set up wireless in /etc/wpa_supplicant.conf and /etc/network/interfaces and try restarting the network?

                               

                              Sergey had good instructions on the steps if you are not familiar with this:

                              http://www.malinov.com/Home/sergey-s-blog/intelgalileo-addingwifi

                               

                              My problem is that I cannot rebuild the image using my Ubuntu virtual machine. It errors out during bitbake with expansion errors. Apart from that I am not sure if my pcie card is being recognized. Nothing additional shows up when I do a lspci

                              • 12. Re: Wifi mPCIe compatibility
                                SergeyK

                                Trush and Ivan:

                                 

                                You should be seeing your card in lspci output. If it doesn't show up, something is wrong with the hardware.

                                 

                                Here is my lspci output. Yours will be different - not that fancy because default image uses busybox lspci while I have the full version, and also the PCI ID will be different for different cards. But the card should have bus ID 01:00.0 (the first number in line).

                                 

                                root@clanton:~# lspci -n

                                00:00.0 0600: 8086:0958

                                00:14.0 0805: 8086:08a7 (rev 10)

                                00:14.1 0700: 8086:0936 (rev 10)

                                00:14.2 0c03: 8086:0939 (rev 10)

                                00:14.3 0c03: 8086:0939 (rev 10)

                                00:14.4 0c03: 8086:093a (rev 10)

                                00:14.5 0700: 8086:0936 (rev 10)

                                00:14.6 0200: 8086:0937 (rev 10)

                                00:14.7 0200: 8086:0937 (rev 10)

                                00:15.0 0c80: 8086:0935 (rev 10)

                                00:15.1 0c80: 8086:0935 (rev 10)

                                00:15.2 0c80: 8086:0934 (rev 10)

                                00:17.0 0604: 8086:11c3

                                00:17.1 0604: 8086:11c4

                                00:1f.0 0601: 8086:095e

                                01:00.0 0280: 8086:088e (rev 24)

                                 

                                Thanks,
                                Sergey

                                • 13. Re: Wifi mPCIe compatibility
                                  Trush

                                  Right, I suspect an issue with the card and/or the pcie slot. Nothing shows up differently when the card is connected.

                                   

                                  root@clanton:~# lspci -mk

                                  00:00.0 "Class 0600" "8086" "0958" "8086" "095e" "intel_cln_sb"

                                  00:14.0 "Class 0805" "8086" "08a7" "8086" "08a7" "sdhci-pci"

                                  00:14.1 "Class 0700" "8086" "0936" "8086" "0936" "serial"

                                  00:14.2 "Class 0c03" "8086" "0939" "8086" "0939" "pch_udc"

                                  00:14.3 "Class 0c03" "8086" "0939" "8086" "0939" "ehci-pci"

                                  00:14.4 "Class 0c03" "8086" "093a" "8086" "093a" "ohci_hcd"

                                  00:14.5 "Class 0700" "8086" "0936" "8086" "0936" "serial"

                                  00:14.6 "Class 0200" "8086" "0937" "8086" "0937" "stmmaceth"

                                  00:14.7 "Class 0200" "8086" "0937" "8086" "0937"

                                  00:15.0 "Class 0c80" "8086" "0935" "8086" "0935" "ce4100_spi"

                                  00:15.1 "Class 0c80" "8086" "0935" "8086" "0935" "ce4100_spi"

                                  00:15.2 "Class 0c80" "8086" "0934" "8086" "0934" "intel_cln_gip"

                                  00:17.0 "Class 0604" "8086" "11c3" "8086" "11c3" "pcieport"

                                  00:17.1 "Class 0604" "8086" "11c4" "8086" "11c4" "pcieport"

                                  00:1f.0 "Class 0601" "8086" "095e" "8086" "095e" "lpc_sch"

                                  • 14. Re: Wifi mPCIe compatibility
                                    pivan

                                    HI

                                    Yes mine is the same:

                                     

                                    00:00.0 "Class 0600" "8086" "0958" "8086" "095e" "intel_cln_sb"

                                    00:14.0 "Class 0805" "8086" "08a7" "8086" "08a7" "sdhci-pci"

                                    00:14.1 "Class 0700" "8086" "0936" "8086" "0936" "serial"

                                    00:14.2 "Class 0c03" "8086" "0939" "8086" "0939" "pch_udc"

                                    00:14.3 "Class 0c03" "8086" "0939" "8086" "0939" "ehci-pci"

                                    00:14.4 "Class 0c03" "8086" "093a" "8086" "093a" "ohci_hcd"

                                    00:14.5 "Class 0700" "8086" "0936" "8086" "0936" "serial"

                                    00:14.6 "Class 0200" "8086" "0937" "8086" "0937" "stmmaceth"

                                    00:14.7 "Class 0200" "8086" "0937" "8086" "0937"

                                    00:15.0 "Class 0c80" "8086" "0935" "8086" "0935" "ce4100_spi"

                                    00:15.1 "Class 0c80" "8086" "0935" "8086" "0935" "ce4100_spi"

                                    00:15.2 "Class 0c80" "8086" "0934" "8086" "0934" "intel_cln_gip"

                                    00:17.0 "Class 0604" "8086" "11c3" "8086" "11c3" "pcieport"

                                    00:17.1 "Class 0604" "8086" "11c4" "8086" "11c4" "pcieport"

                                    00:1f.0 "Class 0601" "8086" "095e" "8086" "095e" "lpc_sch"

                                     

                                    and it does not change, with or without the WiFi module attached

                                     

                                    ivan

                                    1 2 Previous Next