OpenBSD Journal

Call for testers: Intel PRO/Wireless 3945ABG

Contributed by ben on from the trying-not-to-eat-little-dogs dept.

Damien Bergamini recently added initial (blob-free!) support for the Intel PRO/Wireless 3945ABG 802.11 cards found in laptops with the Intel Centrino Duo chipset.

Here is the commit message (full):

Initial import of wpi(4), a blob-free driver for Intel PRO/Wireless 3945ABG 802.11 adapters as found in Centrino Duo laptops. More to come but works well enough for me to commit this over a wpi(4).

Although the driver does not require any blob to operate (the Linux driver requires a binary-only regulatory daemon; read http://kerneltrap.org/node/6270), it still requires firmware that may not be distributed by OpenBSD due to licensing restrictions. However, a package containing the firmware may be obtained from Damien’s website:

# pkg_add http://damien.bergamini.free.fr/packages/openbsd/wpi-firmware-1.13.tgz

Because the driver is currently in the early stages of development, some things don’t work at the moment. Hopefully things will get better in the next few days.

The things that do not work are:

  • IBSS mode
  • 802.11a
  • setting a fixed rate (currently, a transmit speed of 1Mb/s is fixed)
  • monitor mode (while in BSS mode though, radiotap somewhat works)

So far, the driver seems to work fine for me.

If you have a system with one of these wireless adapters, please give the driver a test, and report any problems by using sendbug(1) or contacting damien@ directly.

Even if you do not have an access point to test with, you can still test the driver by just bringing the wpi0 interface up. It will check that the firmware loads correctly, and radio calibration works. The WiFi LED should also blink while the adapter scans for networks.

Damien says: “I encourage everyone to go and read the code. The first one who find a reference to a very popular TV show in the source code wins a cookie ;) Files are located in /usr/src/sys/dev/pci/if_wpi*.[ch]”

(Comments are closed)


Comments
  1. By Antonios Anastasiadis (213.5.161.18) on

    wow. I don't have such a laptop to test the driver, however I am amazed at the work you guys do, showing the right way to the rest of the world.
    Thanks OpenBSD Team!

    Comments
    1. By Anonymous Coward (156.34.208.173) on

      [SNIP] ... showing the right way to the rest of the world ... [SNIP]

      Hmm ... there are days when I almost feel bad for the Linux crowd. It is just early days, but it isn't hard to see the idealistic hard work of many dedicated free software people is in danger of becoming seriously undermined. And now the OS is so fragmented into distributions pursuing their own agendas that the problem may well be unstoppable. It would be bitterly ironic if Linux finally becomes a serious contender with Windows in the home and business desktop market only to find it is so dependant on proprietary bits that it is effectively not free software anymore.

      Comments
      1. By Anonymous Coward (24.46.21.229) on

        <snip>It would be bitterly ironic if Linux finally becomes a serious contender with Windows in the home and business desktop market only to find it is so dependant on proprietary bits that it is effectively not free software anymore.</snip>
        I use linux for many of my clients, and the amount of proprietary code that I use on a daily basis is staggering. For one client, I replaced the firmware on several WRT54G routers with the OpenWRT distro. Not only were all of the drivers for the ethernet devices proprietary, but the WPA and other support programs were too. In short, most Linux distros that need to get work done use proprietary blobs here and there, enough where it is noticable (btw these drivers are pretty hit-or-miss: despite having signed an NDA or accepting a blob, these drivers are sometimes as bad or worse than the free (read: 'crippled') ones). That's enough rant for one night... besides, if I _really_ want to rant, I should have brought up iptables vs. pf (damn you iptables why can't you just be... pf).

      2. By frantisek holop (165.72.200.11) on

        > And now the OS is so fragmented into distributions pursuing their own
        > agendas that the problem may well be unstoppable.

        so what?
        there are millions and millions of people who want to code,
        do stuff. others start a distro because they get frustrated
        by some well known core team or because they have a different
        vision the other projects do not fulfill. sounds familiar?
        just what Theo did, for both reasons.

        if there were as much bsd users as linux, don't worry, there would
        be like hundreds of bsd distributions.

        i think openbsd has an excellent name, and it draws more and more
        devs over time. one day, there will be mails from all these devs
        asking why isn't anyone looking at their patches, there will be so
        many :-)

        and then they will fork as crazy ;-)

        Comments
        1. By Anonymous Coward (68.104.1.58) on

          > if there were as much bsd users as linux, don't worry, there would
          > be like hundreds of bsd distributions.

          Different bsd "distributions" are basically forks, they do not rely
          on a common kernel like Linux distributions do (Linux being the kernel only). There are very few Linux forks, just distributions with different sets of bundled software.
          >
          > i think openbsd has an excellent name, and it draws more and more
          > devs over time. one day, there will be mails from all these devs
          > asking why isn't anyone looking at their patches, there will be so
          > many :-)
          >
          > and then they will fork as crazy ;-)
          like all the NetBSD forks (OpenBSD), all the FreeBSD forks (DragonflyBSD; PC BSD and DesktopBSD are distributions) and the OpenBSD forks (none surviving i believe).

          Comments
          1. By Anonymous Coward (84.188.253.70) on

            > > if there were as much bsd users as linux, don't worry, there would
            > > be like hundreds of bsd distributions.
            >
            > Different bsd "distributions" are basically forks, they do not rely
            > on a common kernel like Linux distributions do (Linux being the kernel only). There are very few Linux forks, just distributions with different sets of bundled software.
            > >
            > > i think openbsd has an excellent name, and it draws more and more
            > > devs over time. one day, there will be mails from all these devs
            > > asking why isn't anyone looking at their patches, there will be so
            > > many :-)
            > >
            > > and then they will fork as crazy ;-)
            > like all the NetBSD forks (OpenBSD), all the FreeBSD forks (DragonflyBSD; PC BSD and DesktopBSD are distributions) and the OpenBSD forks (none surviving i believe).

            And all those where forked from (mostly) one BSD...

            Comments
            1. By Nate (65.94.59.238) on

              > > > if there were as much bsd users as linux, don't worry, there would
              > > > be like hundreds of bsd distributions.
              > >
              > > Different bsd "distributions" are basically forks, they do not rely
              > > on a common kernel like Linux distributions do (Linux being the kernel only). There are very few Linux forks, just distributions with different sets of bundled software.
              > > >
              > > > i think openbsd has an excellent name, and it draws more and more
              > > > devs over time. one day, there will be mails from all these devs
              > > > asking why isn't anyone looking at their patches, there will be so
              > > > many :-)
              > > >
              > > > and then they will fork as crazy ;-)
              > > like all the NetBSD forks (OpenBSD), all the FreeBSD forks (DragonflyBSD; PC BSD and DesktopBSD are distributions) and the OpenBSD forks (none surviving i believe).
              >
              > And all those where forked from (mostly) one BSD...
              >

              Mir pretends to be a Linux/OpenBSD fork with Net and Free bits, you know, dumb shit like wtf. It's still alive as long as the guy doing it says so.

  2. By Artis (80.249.194.29) on

    The code is clean and fun to read (as always). I find the definition of WPI_CHICKEN (marsala) to be both witty and hilarious. Yet no indicative hints which may help to discover the show's name. Tough, lets keep on looking! :-)

  3. By Anonymous Coward (81.57.42.108) on Virtuose

    So, if this code made is way up to the cvs tree, I guess you even managed to make it work without the userland "FCC compliance enforcment root daemon" that Linux undergo.

    That's ironic and ... well, that's virtuose work !

  4. Comments
    1. By Michael Knudsen (217.157.199.114) on

      > The comment in wpi_init()
      >
      > /* now press "execute" ;-) */
      >
      > from Lost
      >
      > Yum, cookie :)

      Is that from season 2?

    2. By Damien Bergamini (82.67.68.158) on http://damien.bergamini.free.fr/

      > The comment in wpi_init()
      >
      > /* now press "execute" ;-) */
      >
      > from Lost
      >
      > Yum, cookie :)


      Congrats!

      Comments
      1. By Anonymous Coward (72.255.47.71) on

        > > The comment in wpi_init()
        > >
        > > /* now press "execute" ;-) */
        > >
        > > from Lost
        > >
        > > Yum, cookie :)
        >
        >
        > Congrats!
        >


        putting TV quotes in your code is pretty linux-like. kill the geek bloat or go work on gentoo.


        Comments
        1. By David Gwynne (24.42.21.250) loki@animata.net on

          > putting TV quotes in your code is pretty linux-like. kill the geek bloat or go work on gentoo.

          Yeah, a one line comment adds so much bloat to compiler output.

          Sarcasm aside, your statement really annoys me. damien@ writes some of the best code I've seen in the tree and wpi is no exception. Saying a 1 line comment adds bloat to 3000 lines of really good code is stupid. Please be quiet or go troll on a gentoo list.

        2. By Anonymous Coward (82.94.1.57) on

          > > > The comment in wpi_init()
          > > >
          > > > /* now press "execute" ;-) */
          > > >
          > > > from Lost
          > > >
          > > > Yum, cookie :)
          > >
          > >
          > > Congrats!
          > >
          >
          >
          > putting TV quotes in your code is pretty linux-like. kill the geek bloat or go work on gentoo.
          >
          ACK, I guess the troll never wrote any code himself...

        3. By Otto Moerbeek (82.197.192.49) otto@drijf.net on Otto Moerbeek

          > putting TV quotes in your code is pretty linux-like. kill the geek bloat or go work on gentoo.

          Developers decide what's acceptable in the tree and not anonymous cowards.

          As a developer I'm offended by such a remark. Let me remind you that all this is mostly volunteer work and YOU benefit from it. Damien deserves respect and nothing like you are saying.

          I hope you come back and apologize. But's that's probably just idle hope.

        4. By Daniel Hartmeier (195.234.187.87) daniel@benzedrine.cx on http://www.benzedrine.cx/dhartmei.html

          > putting TV quotes in your code is pretty linux-like. kill the geek bloat or go work on gentoo.

          Actually, I found it was a quite entertaining and effective way to get additional people to scrutinize the source code. Code review is a good thing.

          The comment is small and subtle, even appropriately documenting the code for a reader not familiar with the reference. Pretty much perfect.

          This is not bloat. And geek is not a derogatory around here. You should probably loosen your tie to improve oxygen flow.

          Comments
          1. By Krunch (80.200.149.69) on http://krunch.be/

            > Actually, I found it was a quite entertaining and effective
            > way to get additional people to scrutinize the source code.
            > Code review is a good thing.
            I found it entertaining and I scanned through the code to find it (I noticed it, as well as WPI_CHICKEN, but since I never watched Lost didn't recognized it) but I doubt it really made people review the code in any useful way.

            Of course, calling it bloat is stupid. Independently of the reference to the TV serie, this comment is meaningful.

          2. By Anonymous Coward (72.254.156.246) on

            > Actually, I found it was a quite entertaining and effective way to get additional people to scrutinize the source code. Code review is a good thing.
            >
            > The comment is small and subtle, even appropriately documenting the code for a reader not familiar with the reference. Pretty much perfect.
            >
            > This is not bloat. And geek is not a derogatory around here. You should probably loosen your tie to improve oxygen flow.
            >

            Following this logic, I will submit diffs to the OpenBSD man pages that add funny comments from cartoons. I mean.. it would be an effective way to get people to read them right?

            So, since this isn't bloat either, I will wait for your commits.

            Comments
            1. By Anonymous Coward (82.195.186.223) on

              > Following this logic, I will submit diffs to the OpenBSD man pages that add funny comments from cartoons. I mean.. it would be an effective way to get people to read them right?

              As long as they are mdoc comments (and thus do not show up in the generated output), why not?

              > So, since this isn't bloat either, I will wait for your commits.

              So where are your diffs?

        5. By Anonymous Coward (156.34.208.173) on


          > putting TV quotes in your code is pretty linux-like. kill the geek bloat or go work on gentoo.

          Umm ... rubbish! IMHO, a bit of humour here and there makes easier to get through code, document, whatever ... and shows a real multidimensional human wrote it. It isn't like the comments are translated get compiled into the binary like a machine equivalent of non-coding DNA ...

        6. By Anonymous Coward (72.66.68.60) on

          > putting TV quotes in your code is pretty linux-like. kill the geek bloat or go work on gentoo.

          So putting comments in code makes software "bloated"? You do know that the compiler ignores the comments, right? Just checking. ;-)

  5. By Anonymous Coward (62.252.64.13) on

    OpenBSD is rapidly turning into the home of Free software reference drivers.

    Comments
    1. By Anonymous Coward (203.31.24.51) on

      > OpenBSD is rapidly turning into the home of Free software reference drivers.

      Keep this up and the OpenBSD project may well win another Free Software Award, like in 2004! Death to blobs!

      Comments
      1. By Nate (65.94.59.238) on

        > OpenBSD is rapidly turning into the home of Free software reference drivers.
        >
        > Keep this up and the OpenBSD project may well win another Free Software Award,
        > like in 2004!
        > Death to blobs!

        Theo won, not OpenBSD - a person can only win once, Damien or Reyk may win though.

        Also, I'll be damned if this typing in the nonsense spam-preventor isn't bothersome.

  6. By Chris Snell (166.70.206.242) on http://justlivehere.blogspot.com

    Bummer. It looks like the firmware has disappeared from Daniel's server. Anybody have a copy lying around?

    Comments
    1. By tedu (71.139.182.193) on

      > Bummer. It looks like the firmware has disappeared from Daniel's server. Anybody have a copy lying around?

      http://damien.bergamini.free.fr/packages/openbsd/

    2. By Ben (71.136.135.211) on

      > Bummer. It looks like the firmware has disappeared from Daniel's server. Anybody have a copy lying around?

      Sorry, URL is fixed.

  7. By Dave (74.135.14.113) d.fike@insightbb.com on

    802.11a don't work anyway under a windows XP environment.

  8. By Anonymous Coward (124.42.99.100) on

    Does anybosy tell me how to connect to the access point? I have a IBM T60 Laptop.

    See following output:
    wpi0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    lladdr 00:13:02:b9:3d:a8
    media: IEEE802.11 autoselect (OFDM36 mode 11g)
    status: no network
    ieee80211: nwid xxxxx chan 11 bssid 00:16:b6:51:3e:0f 27dB nwkey xxxxx 100dBm
    nwid wireless chan 9 bssid 00:0f:e2:0f:ef:cf 26dB 54M short_slottime
    nwid tpsl chan 8 bssid 00:14:78:c6:58:bc 16dB 54M privacy,short_preamble,short_slottime
    nwid "TMS Beijing" chan 11 bssid 00:14:bf:7f:c6:16 4dB 54M privacy,short_slottime
    nwid McCann@ZW92 chan 11 bssid 00:14:bf:af:f8:d2 3dB 54M privacy,short_slottime
    nwid ANSDAO chan 11 bssid 00:14:bf:e5:5d:cf 5dB 54M privacy,short_slottime
    nwid xxxxx chan 11 bssid 00:16:b6:51:3e:0f 27dB 54M privacy,short_slottime
    inet6 fe80::213:2ff:feb9:3da8%wpi0 prefixlen 64 scopeid 0x2
    inet 10.4.21.124 netmask 0xffff0000 broadcast 10.4.255.255

    Thank you so much for your help.
    Jeremy
    mclos.lin@gmail.com

Latest Articles

Credits

Copyright © - Daniel Hartmeier. All rights reserved. Articles and comments are copyright their respective authors, submission implies license to publish on this web site. Contents of the archive prior to as well as images and HTML templates were copied from the fabulous original deadly.org with Jose's and Jim's kind permission. This journal runs as CGI with httpd(8) on OpenBSD, the source code is BSD licensed. undeadly \Un*dead"ly\, a. Not subject to death; immortal. [Obs.]