Intel Centrino Advanced-N 6235 WiFi Driver

Internal storage, motherboards, PCI cards, stuff inside the case.

Intel Centrino Advanced-N 6235 WiFi Driver

Postby IRL_Grant » 31 Oct 2012, 14:14

Hello,

I know that someone was working on this driver as recent as August but I haven't been able to find anything else about it. I would love to have this particular WiFi card working, so if anyone knows of a more recent status (if any) I'd really appreciate it.

Thanks much!
IRL_Grant
Junior Member
 
Posts: 2
Joined: 31 Oct 2012, 09:56

Postby xmj » 01 Nov 2012, 08:57

Hi,

I do have the same issue.

One thing that might have worked (or so I thought) but didn't was:

Modify [FILE]/usr/src/sys/dev/iwn/if_iwn.c[/FILE] to include
Code: Select all
  { 0x8086, 0x088e, "Intel Centrino Advanced-N 6235"              },

in its
Code: Select all
static const struct iwn_ident iwn_ident_table[]
where all other chips are listed.

[CMD="#"]pciconf -lbcev[/CMD] yields the following
Code: Select all
none4@pci0:3:0:0:       class=0x028000 card=0x40608086 chip=0x088e8086 rev=0x24 hdr=0x00
    vendor     = 'Intel Corporation'
    class      = network
    bar   [10] = type Memory, range 64, base 0xf7800000, size 8192, disabled
    cap 01[c8] = powerspec 3  supports D0 D3  current D3
    cap 05[d0] = MSI supports 1 message, 64 bit
    cap 10[e0] = PCI-Express 1 endpoint max data 128(128) FLR link x1(x1)
ecap 0001[100] = AER 1 0 fatal 0 non-fatal 1 corrected
ecap 0003[140] = Serial 1 c48508ffff3ca99c
  PCI-e errors = Correctable Error Detected
                 Unsupported Request Detected
     Corrected = Advisory Non-Fatal Error

and I'm using
Code: Select all
 FreeBSD 10.0-CURRENT #4: Mon Oct 29 13:32:42 EET 2012
on an ASUS UX32VD-R4001 notebook.

I'd love to see a solution for this, not being a programmer myself.
xmj
Junior Member
 
Posts: 30
Joined: 31 Oct 2012, 21:26

Postby lee170 » 04 Nov 2012, 13:37

A couple of reasons why your modification of [FILE]if_iwn.c[/FILE] did not work are:
  1. Simply editing the [FILE]iwn_ident_table[/FILE] without actually adding driver code will not do anything.
  2. If the driver code were available, you'd need to compile and link [FILE]if_iwn.c[/FILE] for it to have an effect.
There is a developer who's taken responsibility for the Intel 6235 driver but he's been quiet since August. I also have that card and cannot use [size=-1][Free? -- mod.][/size]BSD because of the lack of a driver.
lee170
Junior Member
 
Posts: 2
Joined: 12 Oct 2012, 19:19

Postby xmj » 04 Nov 2012, 20:17

[user]lee170[/user]: Needless to say I recompiled the system after adding that one-liner. And guess what? After downloading the latest firmware, it works.

Instructions:
  1. Add the oneliner
    Code: Select all
    { 0x8086, 0x088e, "Intel Centrino Advanced-N 6235"              },
    to [FILE]/usr/src/sys/dev/iwn/if_iwn.c[/FILE] as described above.
  2. Download the latest firmware from http://intellinuxwireless.org/?n=downloads -- make sure it's the [FILE]iwlwifi-6000g2b-ucode-18.168.6.1.tgz[/FILE].
    1. Extract the [FILE]tgz[/FILE], copy [FILE]iwlwifi-6000g2b-6.ucode[/FILE] to [FILE]/usr/src/sys/contrib/dev/iwn/iwlwifi-6000g2b-18.168.6.1.fw[/FILE].
    2. Modify [FILE]/usr/src/sys/modules/iwnfw/iwn6000g2b/Makefile[/FILE] so that it looks like this:
      Code: Select all
      <SNIP>
      KMOD=   iwn6000g2bfw
      IMG=    iwlwifi-6000g2b-18.168.6.1
      </SNIP>
  3. [CMD="#"]make -C /usr/src/sys/modules/iwnfw/iwn6000g2b/ clean all install[/CMD].
This should be everything needed to get some verbose messages confirming that [FILE]iwn0[/FILE] indeed has been successfully added. I'll submit a patch/PR over the next few days.

There is one issue (happened three times, can reproduce): If I want to [CMD="#"]kldunload if_iwn[/CMD], my system reboots. I don't know why that is (yet), but... as I don't intend to unload it all too often, it's not as relevant for me as for others - so I trust someone else will take a look at it.
xmj
Junior Member
 
Posts: 30
Joined: 31 Oct 2012, 21:26

Postby lee170 » 05 Nov 2012, 12:02

Nice work! I'll try that today.
lee170
Junior Member
 
Posts: 2
Joined: 12 Oct 2012, 19:19

Postby xmj » 05 Nov 2012, 15:39

Thanks. Please do report any additional steps though, in case I've forgotten to list something. Then I'll file a PR with the respective patches and one day we'll see it move upstream :)
xmj
Junior Member
 
Posts: 30
Joined: 31 Oct 2012, 21:26

Postby IRL_Grant » 08 Nov 2012, 15:23

Thanks for figuring all of that out [user]xmj[/user]. I am not quite sure what all that means TBH but I will read up a bit more to try to get that working for my system as well.

Thanks again!
IRL_Grant
Junior Member
 
Posts: 2
Joined: 31 Oct 2012, 09:56

Postby xmj » 11 Nov 2012, 13:15

I forgot to include the obvious - load the kernel module.

4. [CMD="#"]kldload iwn6000g2bfw
kldload if_iwn[/CMD]
xmj
Junior Member
 
Posts: 30
Joined: 31 Oct 2012, 21:26

Postby vandunen » 11 Nov 2012, 17:20

Hi [user]xmj[/user], must this [FILE]*ucode[/FILE] file be source code or pure binary? In the aforementioned directory all other other files's name are [FILE]*.fw.uu[/FILE] and seem to be text files, at least the headers. After compiling via [FILE]Makefile[/FILE] I get the error message
Code: Select all
Don't know how to make /usr/../contrib/dev/../*iwl*.fw.uu

I use [del]the[/del] PC-BSD 9.0.
vandunen
Junior Member
 
Posts: 2
Joined: 10 Nov 2012, 00:04

Postby xmj » 12 Nov 2012, 08:16

The file should be [FILE]*ucode[/FILE]. I put the firmware into [FILE]/usr/src/sys/contrib/dev/iwn/iwlwifi-6000g2b-18.168.6.1.fw.uu[/FILE]. When I tried to [FILE]cat[/FILE] it, the output was garbage. After uudecoding it, as is invoked by some other [FILE]Makefile[/FILE], I was able to actually see some source code. I didn't do anything with it, though.

Make sure you point the [FILE]/usr/src/sys/modules/iwnfw/iwn6000g2b/Makefile [/FILE] to the [FILE]iwlwifi-6000g2b-18.168.6.1.fw.uu[/FILE] -- just leave out the [FILE].fw.uu[/FILE] part.
xmj
Junior Member
 
Posts: 30
Joined: 31 Oct 2012, 21:26

Postby vandunen » 13 Nov 2012, 20:28

I uuencoded the microcode and the compilation via described [FILE]Makefile[/FILE] worked. Thanks a lot!

The only problem I had is with the kernel loading [del]the[/del] [FILE]if_iwn[/FILE], but I guess that's another topic
which is not supposed to be to mentioned in this thread.
vandunen
Junior Member
 
Posts: 2
Joined: 10 Nov 2012, 00:04

Postby patpro » 17 Nov 2012, 21:26

Hello,

I'm not using FreeBSD 9 yet, but I plan to migrate my FreeBSD gateway to a brand new box, with a fresh install of FreeBSD 9.x. The box I'm planing to buy uses an Intel N6230 WiFi card. I don't care about Bluetooth support, but I do need proper WiFi support. Do you think I must adapt the procedure above for this card, or will it be supported out of the box?

Regards.
patpro
Junior Member
 
Posts: 77
Joined: 05 Jan 2011, 10:30
Location: France

Postby xmj » 21 Nov 2012, 05:05

[FILE] /usr/src/sys/dev/iwn/if_iwn.c[/FILE] comes with support for two "Intel Centrino Advanced-N 6230" chips.
Code: Select all
<SNIP>
        { 0x8086, 0x0090, "Intel Centrino Advanced-N 6230"              },
        { 0x8086, 0x0091, "Intel Centrino Advanced-N 6230"              },
<SNIP>



It should be supported out of the box but as this is a different chip, you might want to look in a different thread. Try for instance this one: http://forums.FreeBSD.org/showthread.php?t=23573&highlight=6230. It's more than a year old and focuses on another chip -- then again, it uses a solution developed for your N 6230 on that other chip. Both facts suggest that other people don't have issues with the chip. Should you encounter any, it shouldn't be that hard to upgrade the firmware (mentioned in here) and look for other people's solutions on Google or ##freebsd on freenode IRC.
xmj
Junior Member
 
Posts: 30
Joined: 31 Oct 2012, 21:26

Postby patpro » 22 Nov 2012, 19:22

Thank you [user]xmj[/user], that's good news. It looks like I can buy this "Relia" box then :) http://aleutia.com/products/relia-fanless-industrial-server
patpro
Junior Member
 
Posts: 77
Joined: 05 Jan 2011, 10:30
Location: France

Postby xmj » 24 Nov 2012, 21:30

To get back on topic, here's the output for FreeBSD 10.0-CURRENT #7 r243502M: Sat Nov 24 22:51:00 EET 2012
[CMD="#"]svn diff[/CMD]
Code: Select all
Index: sys/dev/iwn/if_iwn.c
===================================================================
--- sys/dev/iwn/if_iwn.c        (revision 243502)
+++ sys/dev/iwn/if_iwn.c        (working copy)
@@ -93,6 +93,7 @@
        { 0x8086, 0x0886, "Intel Centrino Wireless-N + WiMAX 6150"      },
        { 0x8086, 0x0896, "Intel Centrino Wireless-N 130"               },
        { 0x8086, 0x0887, "Intel Centrino Wireless-N 130"               },
+       { 0x8086, 0x088e, "Intel Centrino Advanced-N 6235"              },
        { 0x8086, 0x08ae, "Intel Centrino Wireless-N 100"               },
        { 0x8086, 0x08af, "Intel Centrino Wireless-N 100"               },
        { 0x8086, 0x4229, "Intel Wireless WiFi Link 4965"               },
Index: sys/modules/iwnfw/iwn6000g2b/Makefile
===================================================================
--- sys/modules/iwnfw/iwn6000g2b/Makefile       (revision 243502)
+++ sys/modules/iwnfw/iwn6000g2b/Makefile       (working copy)
@@ -1,6 +1,6 @@
 # $FreeBSD$
 
 KMOD=  iwn6000g2bfw
-IMG=   iwlwifi-6000g2b-17.168.5.2
+IMG=   iwlwifi-6000g2b-18.168.6.1
 
 .include <bsd.kmod.mk>
xmj
Junior Member
 
Posts: 30
Joined: 31 Oct 2012, 21:26

Postby bschmidt » 26 Nov 2012, 08:23

Thanks for the effort guys.

Just wondering, did you also test 802.11n and 40 MHz channels? The last time I've looked into adding 6235 support, I had really big issues at HT40, firmware crashes, terrible throughput, .. As you've probably noticed, I've pushed the firmware into the tree already, but did not add the IDs for that reason.

Point is, I suspect that there is some driver incompatibility with the new firmware rendering the device close to unusable and because the FW is also used for the 6230, that one too. It'd be highly appreciated if someone is willing to compare our driver with the Linux one to figure out what's going on.
bschmidt
Member
 
Posts: 298
Joined: 24 Oct 2009, 13:21
Location: Schwandorf, Germany

Postby quali » 23 Jan 2013, 02:13

xmj wrote:lee170:
Needless to say I recompiled the system after adding that one-liner.


And guess what?

After downloading the latest firmware, it works.

Instructions:

1. Add the oneliner
Code: Select all
{ 0x8086, 0x088e, "Intel Centrino Advanced-N 6235"              },
to [FILE]/usr/src/sys/dev/iwn/if_iwn.c[/FILE] as described above
2. Download the latest firmware from http://intellinuxwireless.org/?n=downloads -- make sure it's the [FILE]iwlwifi-6000g2b-ucode-18.168.6.1.tgz[/FILE].
2a. Extract the tgz, copy [FILE]iwlwifi-6000g2b-6.ucode[/FILE] to [FILE]/usr/src/sys/contrib/dev/iwn/iwlwifi-6000g2b-18.168.6.1.fw[/FILE]
2b Modify [FILE]/usr/src/sys/modules/iwnfw/iwn6000g2b/Makefile[/FILE] so that it looks like this:
Code: Select all
<SNIP>
KMOD=   iwn6000g2bfw
IMG=    iwlwifi-6000g2b-18.168.6.1
</SNIP>

3. [CMD="#"]make -C /usr/src/sys/modules/iwnfw/iwn6000g2b/ clean all install[/CMD]

This should be everything needed to get some verbose messages confirming that iwn0 indeed has been successfully added.

I'll submit a patch/PR over the next few days.

There is one issue (happened three times, can reproduce): If I want to [CMD="#"]kldunload if_iwn[/CMD], my system reboots. I don't know why that is (yet), but ... as I don't intend to unload it all too often, it's not as relevant for me as for others - so I trust someone else will take a look at it.




One little addition here.

Instead of
[CMD="#"]uuencode[/CMD]
in case it takes one hour to encode and you start to realize you're doing something wrong;
[CMD="#"]b64encode -o iwlwifi-6000g2b-18.168.6.1.fw.uu iwlwifi-6000g2b-6.ucode iwlwifi-6000g2b-18.168.6.1.fw.uu[/CMD]

Happy wireless surfing. :PP
quali
Junior Member
 
Posts: 4
Joined: 02 Dec 2012, 01:14

Postby quali » 23 Jan 2013, 09:04

Ok it actually didn't work for me. None of these methods.

It gives me an error due to linux driver incompatibility.
Even after changing the kernel modules and loading only this wireless module. I dont know, I tried everything.
quali
Junior Member
 
Posts: 4
Joined: 02 Dec 2012, 01:14

Postby lunix1 » 08 Feb 2013, 20:38

I come from linux and I wanted to use FreeBSD; without wireless connections it is useless for me; I'm not enthusiastis to use exclusively command-line on a new operating system so I choose PCBSD-9.1 for the beginning.

After 2 months of work only to set up the wireless connection on Intel 6235, I finally succeeded. IT REALLY WORKS!, good speed, stable, no interruptions.

Briefly,
  1. On a fresh install, on the entire SSD, I fetched the sources, I did line 1 from xmj post, then I rebuilt the kernel. After that, the [FILE]iwn0[/FILE] interface appeared in Network Manager but "no carrier" and no wireless flashing LED.
  2. I proceeded to line 2. and 3 (xmj's post) with a small but necessary additional step to [FILE]b64encode[/FILE] the [FILE].ucode[/FILE] before copying it. After that, I was able to [FILE]kldload iwn6000g2bfw[/FILE], [FILE]kldunload[/FILE] it, no need to [FILE]kldload if_iwn[/FILE] already loaded at boot, no succes to [FILE]kldunload if_iwn[/FILE] (no reboot but "[FILE]can't find if_iwn.ko file[/FILE]" message).

Now [FILE]wlan0[/FILE] is created in NM, status: associated, wireless LED is up and responding to Fn +F... keys combination, BUT [FILE]wlan0[/FILE] (and me) struggled to acquire an IP address from a router restored to factory defaults (no filter, no security, no firewall) for a whole month. Meanwhile, of course, frustrating no wireless connection.

"I tried everything" and no post on net was helpful; I decided to enter the router menu to inspect once again, I activated the "AP isolation" option (that was just the case but not important at all), save and REBOOT (the router); when I clicked "reboot" I lost my connection to the router and it didn't come up again in reasonable time, so I DISCONNECTED the cable from my machine; very soon after refreshing the browser, I had the reboot bar on my screen and I knew that I was on a functional wireless connection.

All the system settings are the same like the day before, when I couldn't get IP; [FILE]wlan0[/FILE] status is still "associated" (not active); AP isolation was just a try and disabling it can't break the wireless connection.

Conclusions:
  • the [FILE]iwn[/FILE] driver really works
  • I don't know what happened when the connection was finally up and I don't know how can I control this step.
  • If anyone thinks that I can help with a system message, please ask.
lunix1
Junior Member
 
Posts: 1
Joined: 08 Feb 2013, 18:42

Postby HenryHu » 11 May 2013, 02:14

I just tried to use [FILE]iwn[/FILE] with 6235 on my ASUS UX51VZ. By using this method, I'm able to create [FILE]wlan0[/FILE]. However, it keeps switching between "associated" and "no carrier". After configuring it with [FILE]-ht40[/FILE], it works fairly well. I've not tested the performance, but at least the connection seems stable.
HenryHu
Junior Member
 
Posts: 5
Joined: 21 Nov 2008, 20:22

Postby xmj » 13 Aug 2013, 09:11

The following diff integrates http://people.freebsd.org/~mav/iwn6235.patch

and keeps compatibility with the changes that recently hit HEAD.

Apply to [FILE]/usr/src/sys/dev/iwn[/FILE]:

Code: Select all

Index: if_iwn.c
===================================================================
--- if_iwn.c   (revision 254177)
+++ if_iwn.c   (working copy)
@@ -113,6 +113,8 @@
    { 0x8086, IWN_DID_5x00_2, "Intel WiFi Link 5100"         },
    { 0x8086, IWN_DID_6x00_3, "Intel Centrino Ultimate-N 6300"      },
    { 0x8086, IWN_DID_6x00_4, "Intel Centrino Advanced-N 6200"      },
+    { 0x8086, IWN_DID_6235_1, "Intel Centrino Advanced-N 6235"      },
+    { 0x8086, IWN_DID_6235_2, "Intel Centrino Advanced-N 6235"      },
    { 0x8086, IWN_DID_5x50_1, "Intel WiMAX/WiFi Link 5350"         },
    { 0x8086, IWN_DID_5x50_2, "Intel WiMAX/WiFi Link 5350"         },
    { 0x8086, IWN_DID_5x50_3, "Intel WiMAX/WiFi Link 5150"         },
@@ -858,6 +860,9 @@
       if (pid != 0x0082 && pid != 0x0085) {
          sc->fwname = "iwn6000g2bfw";
          sc->sc_flags |= IWN_FLAG_ADV_BTCOEX;
+          /* xmj 3lines Override chains masks, ROM is known to be broken. */
+          sc->txchainmask = IWN_ANT_AB;
+          sc->rxchainmask = IWN_ANT_AB;
       } else
          sc->fwname = "iwn6000g2afw";
       break;
@@ -5209,7 +5214,7 @@
    cmd.energy_cck         = htole16(calib->energy_cck);
    /* Barker modulation: use default values. */
    cmd.corr_barker        = htole16(190);
-   cmd.corr_barker_mrc    = htole16(390);
+   cmd.corr_barker_mrc    = htole16(sc->limits->barker_mrc);
 
    DPRINTF(sc, IWN_DEBUG_CALIBRATE,
        "%s: set sensitivity %d/%d/%d/%d/%d/%d/%d\n", __func__,
@@ -5791,7 +5796,7 @@
       sc->rxon.ofdm_mask = 0;
    } else {
       /* Assume 802.11b/g. */
-      sc->rxon.cck_mask  = 0x0f;
+      sc->rxon.cck_mask  = 0x03;
       sc->rxon.ofdm_mask = 0x15;
    }
    if (IEEE80211_IS_CHAN_HT(ni->ni_chan)) {
@@ -7030,12 +7035,11 @@
       /* Use internal power amplifier only. */
       IWN_WRITE(sc, IWN_GP_DRIVER, IWN_GP_DRIVER_RADIO_2X2_IPA);
    }
-   if ((sc->hw_type == IWN_HW_REV_TYPE_6050 ||
-        sc->hw_type == IWN_HW_REV_TYPE_6005) && sc->calib_ver >= 6) {
+   if (sc->hw_type == IWN_HW_REV_TYPE_6050 && sc->calib_ver >= 6) {
       /* Indicate that ROM calibration version is >=6. */
       IWN_SETBITS(sc, IWN_GP_DRIVER, IWN_GP_DRIVER_CALIB_VER6);
    }
-   if (sc->hw_type == IWN_HW_REV_TYPE_6005)
+   if (sc->hw_type == IWN_HW_REV_TYPE_6050)
       IWN_SETBITS(sc, IWN_GP_DRIVER, IWN_GP_DRIVER_6050_1X2);
    return 0;
 }
Index: if_iwn_devid.h
===================================================================
--- if_iwn_devid.h   (revision 254177)
+++ if_iwn_devid.h   (working copy)
@@ -156,7 +156,16 @@
 #define   IWN_SDID_6035_2      0x4260
 #define   IWN_SDID_6035_3      0x4460
 #define   IWN_SDID_6035_4      0x4860
+
 /*
+ * xmj hack goes here
+ */
+
+#define IWN_DID_6235_1      0x088e
+#define IWN_DID_6235_2      0x088f
+
+
+/*
  * --------------------------------------------------------------------------
  * Device ID for 1030 and 6030 Series
  * --------------------------------------------------------------------------
Index: if_iwnreg.h
===================================================================
--- if_iwnreg.h   (revision 254177)
+++ if_iwnreg.h   (working copy)
@@ -1891,6 +1891,7 @@
    uint32_t   min_energy_cck;
    uint32_t   energy_cck;
    uint32_t   energy_ofdm;
+   uint32_t   barker_mrc;
 };
 
 /*
@@ -1905,7 +1906,8 @@
    200, 400,
     97,
    100,
-   100
+   100,
+   390
 };
 
 static const struct iwn_sensitivity_limits iwn5000_sensitivity_limits = {
@@ -1917,7 +1919,8 @@
    170, 400,
     95,
     95,
-    95
+    95,
+   390
 };
 
 static const struct iwn_sensitivity_limits iwn5150_sensitivity_limits = {
@@ -1929,7 +1932,8 @@
    170, 400,
     95,
     95,
-    95
+    95,
+   390
 };
 
 static const struct iwn_sensitivity_limits iwn1000_sensitivity_limits = {
@@ -1941,7 +1945,8 @@
    170, 400,
     95,
     95,
-    95
+    95,
+   390
 };
 
 static const struct iwn_sensitivity_limits iwn6000_sensitivity_limits = {
@@ -1951,9 +1956,10 @@
    128, 232,
    125, 175,
    160, 310,
-    97,
-    97,
-   100
+   110,
+   110,
+   110,
+   336
 };
 
 /* Get value from linux kernel 3.2.+ in Drivers/net/wireless/iwlwifi/iwl-2000.c*/

xmj
Junior Member
 
Posts: 30
Joined: 31 Oct 2012, 21:26

Postby Spike » 22 Sep 2013, 17:55

xmj wrote:lee170:
Needless to say I recompiled the system after adding that one-liner.


And guess what?

After downloading the latest firmware, it works.

Instructions:

1. Add the oneliner
Code: Select all
{ 0x8086, 0x088e, "Intel Centrino Advanced-N 6235"              },
to [FILE]/usr/src/sys/dev/iwn/if_iwn.c[/FILE] as described above
2. Download the latest firmware from http://intellinuxwireless.org/?n=downloads -- make sure it's the [FILE]iwlwifi-6000g2b-ucode-18.168.6.1.tgz[/FILE].
2a. Extract the tgz, copy [FILE]iwlwifi-6000g2b-6.ucode[/FILE] to [FILE]/usr/src/sys/contrib/dev/iwn/iwlwifi-6000g2b-18.168.6.1.fw[/FILE]
2b Modify [FILE]/usr/src/sys/modules/iwnfw/iwn6000g2b/Makefile[/FILE] so that it looks like this:
Code: Select all
<SNIP>
KMOD=   iwn6000g2bfw
IMG=    iwlwifi-6000g2b-18.168.6.1
</SNIP>
3. [CMD="#"]make -C /usr/src/sys/modules/iwnfw/iwn6000g2b/ clean all install[/CMD]

This should be everything needed to get some verbose messages confirming that iwn0 indeed has been successfully added.

I'll submit a patch/PR over the next few days.

There is one issue (happened three times, can reproduce): If I want to [CMD="#"]kldunload if_iwn[/CMD], my system reboots. I don't know why that is (yet), but ... as I don't intend to unload it all too often, it's not as relevant for me as for others - so I trust someone else will take a look at it.


I followed these instructions, but it does not seem to work. If I launch [CMD="#"]kldload if_iwn[/CMD], I obtain:
Code: Select all
Exec [I]format[/I] error
while if I launch [CMD="#"]kldload iwn6000g2bfw[/CMD], I do not obtain anything and [FILE]wlan0[/FILE] is not created.

Any idea? :(
Thanks

p.s. I have [del]Freebsd[/del] FreeBSD 9.2-RC4, fresh installation
Spike
Junior Member
 
Posts: 4
Joined: 22 Sep 2013, 17:40
Location: Bolzano/Bozen (Italy)

Postby xmj » 28 Sep 2013, 09:22

Spike wrote:I followed these instructions, but it does not seem to work. If I launch [CMD="#"]kldload if_iwn[/CMD], I obtain:
Code: Select all
Exec [I]format[/I] error
while if I launch [CMD="#"]kldload iwn6000g2bfw[/CMD], I do not obtain anything and [FILE]wlan0[/FILE] is not created.

Any idea? :(
Thanks

p.s. I have [del]Freebsd[/del] FreeBSD 9.2-RC4, fresh installation


Check Quali's post from January 23rd, 2013, 05:13, it looks like you forgot the [file]b64encode[/file] part mentioned there. The [FILE]wlan0[/FILE] device is created upon start of the system service [FILE]netif[/FILE], so it'll not become created until you do a [CMD]service netif restart[/CMD].

Also, you'll have to load the (b64-encoded) firmware before being able to load [file]if_iwn[/file].
xmj
Junior Member
 
Posts: 30
Joined: 31 Oct 2012, 21:26

Postby Spike » 29 Sep 2013, 16:05

xmj wrote:Check Quali's post from January 23rd, 2013, 05:13, it looks like you forgot the [file]b64encode[/file] part mentioned there.

I didn't forget that part, I read all the topic.
I launched [cmd]kldload iwn6000g2bfw[/cmd] and then [cmd]service net restart[/cmd], but [FILE]wlan0[/FILE] isn't.

xmj wrote:Also, you'll have to load the (b64-encoded) firmware before being able to load [file]if_iwn[/file].

Explain me this part, please. I'm newbie of FreeBSD ;)
Thanks
Spike
Junior Member
 
Posts: 4
Joined: 22 Sep 2013, 17:40
Location: Bolzano/Bozen (Italy)

Postby Spike » 06 Oct 2013, 08:41

In summary, I followed these steps:
  1. I applied this patch: http://people.freebsd.org/~mav/iwn6235.patch.

    The output of [cmd] pciconf -lbcev[/cmd] is:
    Code: Select all
    none2@pci0:1:0:0:    class=0x028000 card=0x40608086 chip=0x088e8086 rev=0x24 hdr=0x00
        vendor     = 'Intel Corporation'
        class      = network
        bar   [10] = type Memory, range 64, base 0xf0600000, size 8192, enabled
        cap 01[c8] = powerspec 3  supports D0 D3  current D0
        cap 05[d0] = MSI supports 1 message, 64 bit 
        cap 10[e0] = PCI-Express 1 endpoint max data 128(128) FLR link x1(x1)
                     speed 2.5(2.5) ASPM L0s/L1(L0s/L1)
    ecap 0001[100] = AER 1 0 fatal 0 non-fatal 1 corrected
    ecap 0003[140] = Serial 1 c48508ffff266ac9
      PCI-e errors = Correctable Error Detected
                     Unsupported Request Detected
         Corrected = Advisory Non-Fatal Error
    I'm using:
    Code: Select all
    FreeBSD freebsd.localdomain 9.2-RC4 FreeBSD 9.2-RC4 #0 r255465: Wed Sep 11 05:11:03 UTC 2013     root@bake.isc.freebsd.org:/usr/obj/usr/src/sys/GENERIC  amd64
  2. I downloaded the latest firmware [FILE]iwlwifi-6000g2b-ucode-18.168.6.1.tgz[/FILE] and extracted the [FILE]tgz[/FILE].
  3. I ran [cmd]b64encode -o iwlwifi-6000g2b-18.168.6.1.fw.uu iwlwifi-6000g2b-6.ucode iwlwifi-6000g2b-18.168.6.1.fw.uu[/cmd]
  4. Then this: [cmd]make -C /usr/src/sys/modules/iwnfw/iwn6000g2b/ clean all install[/cmd]. The output is:
    Code: Select all
    rm -f iwlwifi-6000g2b-17.168.5.2.fw iwn6000g2bfw.c export_syms iwn6000g2bfw.ko iwn6000g2bfw.kld iwlwifi-6000g2b-17.168.5.2.fw.fwo iwn6000g2bfw.o
    Warning: Object directory not changed from original /usr/src/sys/modules/iwnfw/iwn6000g2b
    uudecode -p /usr/src/sys/modules/iwnfw/iwn6000g2b/../../../contrib/dev/iwn/iwlwifi-6000g2b-17.168.5.2.fw.uu > iwlwifi-6000g2b-17.168.5.2.fw
    iwlwifi-6000g2b-17.168.5.2.fw iwlwifi-6000g2b-17.168.5.2.fw
    awk -f @/tools/fw_stub.awk iwlwifi-6000g2b-17.168.5.2.fw:iwn6000g2bfw -miwn6000g2bfw -ciwn6000g2bfw.c   
    cc -O2 -pipe -fno-strict-aliasing -Werror -D_KERNEL -DKLD_MODULE -nostdinc   -I. -I@ -I@/contrib/altq -finline-limit=8000 --param inline-unit-growth=100 --param large-function-growth=1000 -fno-common  -fno-omit-frame-pointer  -mcmodel=kernel -mno-red-zone -mno-mmx -mno-sse -msoft-float  -fno-asynchronous-unwind-tables -ffreestanding -fstack-protector -std=iso9899:1999 -fstack-protector -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual  -Wundef -Wno-pointer-sign -fformat-extensions  -Wmissing-include-dirs -fdiagnostics-show-option   -c iwn6000g2bfw.c
    ld  -d -warn-common -r -d -o iwn6000g2bfw.ko iwlwifi-6000g2b-17.168.5.2.fw.fwo iwn6000g2bfw.o
    :> export_syms
    awk -f /usr/src/sys/modules/iwnfw/iwn6000g2b/../../../conf/kmod_syms.awk iwn6000g2bfw.ko  export_syms | xargs -J% objcopy % iwn6000g2bfw.ko
    objcopy --strip-debug iwn6000g2bfw.ko
    install -o root -g wheel -m 555   iwn6000g2bfw.ko /boot/kernel
    kldxref /boot/kernel
  5. I loaded the module: [cmd]kldload iwn6000g2bfw[/cmd] (no output, so I think it's all ok).
When I try to load [FILE]if_iwn[/FILE] ([cmd]kldload if_iwn[/cmd]), I obtain:
Code: Select all
kldload: can't load if_iwn: Exec format error
The [FILE]dmesg[/FILE] output is:
Code: Select all
interface iwn.1 already present in the KLD 'kernel'!
linker_load_file: Unsupported file type
If I run [cmd]service netif restart[/cmd], obviously I have:
Code: Select all
Stopping Network: lo0 re0.
lo0: flags=8048<LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
    options=600003<RXCSUM,TXCSUM,RXCSUM_IPV6,TXCSUM_IPV6>
    nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
re0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
    options=8209b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_MAGIC,LINKSTATE>
    ether e8:03:9a:b6:ec:fe
    nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
    media: Ethernet autoselect (none)
    status: no carrier
Starting Network: lo0 re0.
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
    options=600003<RXCSUM,TXCSUM,RXCSUM_IPV6,TXCSUM_IPV6>
    inet6 ::1 prefixlen 128
    inet6 fe80::1%lo0 prefixlen 64 scopeid 0x4
    inet 127.0.0.1 netmask 0xff000000
    nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
re0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
    options=8209b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_MAGIC,LINKSTATE>
    ether e8:03:9a:b6:ec:fe
    nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
    media: Ethernet autoselect (none)
    status: no carrier
So, where do I go wrong?

Thanks a lot to anyone who wants to help me! :)
Spike
Junior Member
 
Posts: 4
Joined: 22 Sep 2013, 17:40
Location: Bolzano/Bozen (Italy)

Next

Return to System Hardware

Who is online

Users browsing this forum: Google [Bot] and 2 guests