1f6c8 Intel Centrino Advanced-N 6235 WiFi Driver - The FreeBSD Forums
The FreeBSD Forums  

Go Back   The FreeBSD Forums > Base System > System Hardware

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

Reply
 
Thread Tools Display Modes
  #1  
Old October 31st, 2012, 15:14
IRL_Grant IRL_Grant is offline
Junior Member
 
Join Date: Oct 2012
Posts: 2
Thanks: 2
Thanked 0 Times in 0 Posts
Default Intel Centrino Advanced-N 6235 WiFi Driver

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!
Reply With Quote
  #2  
Old November 1st, 2012, 09:57
xmj xmj is offline
Junior Member
 
Join Date: Oct 2012
Posts: 7
Thanks: 0
Thanked 4 Times in 3 Posts
Default

Hi,
I do have the same issue.

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

Modify /usr/src/sys/dev/iwn/if_iwn.c to include
Code:
  { 0x8086, 0x088e, "Intel Centrino Advanced-N 6235"              },
in its
Code:
static const struct iwn_ident iwn_ident_table[]
where all other Chips are listed.

# pciconf -lbcev yields the following
Code:
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:
 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.

Last edited by DutchDaemon; November 1st, 2012 at 11:46.
Reply With Quote
  #3  
Old November 4th, 2012, 14:37
lee170 lee170 is offline
Junior Member
 
Join Date: Oct 2012
Posts: 2
Thanks: 0
Thanked 0 Times in 0 Posts
Default

A couple of reasons why your modification of if_iwn.c did not work are: 1) simply editing the iwn_ident_table without actually adding driver code will not do anything. 2) if the driver code were available, you'd need to compile and link if_iwn.c 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 BSD because of the lack of a driver.
Reply With Quote
  #4  
Old November 4th, 2012, 21:17
xmj xmj is offline
Junior Member
 
Join Date: Oct 2012
Posts: 7
Thanks: 0
Thanked 4 Times in 3 Posts
Default

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

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 # kldunload if_iwn, 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.
Reply With Quote
The Following 2 Users Say Thank You to xmj For This Useful Post:
IRL_Grant (November 8th, 2012), lunix1 (February 8th, 2013)
  #5  
Old November 5th, 2012, 13:02
lee170 lee170 is offline
Junior Member
 
Join Date: Oct 2012
Posts: 2
Thanks: 0
Thanked 0 Times in 0 Posts
Default

Nice work! I'll try that today.
Reply With Quote
  #6  
Old November 5th, 2012, 16:39
xmj xmj is offline
Junior Member
 
Join Date: Oct 2012
Posts: 7
Thanks: 0
Thanked 4 Times in 3 Posts
Default

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
Reply With Quote
The Following User Says Thank You to xmj For This Useful Post:
IRL_Grant (November 8th, 2012)
  #7  
Old November 8th, 2012, 16:23
IRL_Grant IRL_Grant is offline
Junior Member
 
Join Date: Oct 2012
Posts: 2
Thanks: 2
Thanked 0 Times in 0 Posts
Default

Thanks for figuring all of that out xmj. 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!
Reply With Quote
  #8  
Old November 11th, 2012, 14:15
xmj xmj is offline
Junior Member
 
Join Date: Oct 2012
Posts: 7
Thanks: 0
Thanked 4 Times in 3 Posts
Default

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

4. # kldload iwn6000g2bfw
kldload if_iwn
Reply With Quote
  #9  
Old November 11th, 2012, 18:20
vandunen vandunen is offline
Junior Member
 
Join Date: Nov 2012
Posts: 2
Thanks: 0
Thanked 0 Times in 0 Posts
Default

Hi xmj, must this *ucode file be source code or pure binary?
In the aforementioned directory all other other files's name are *.fw.uu and seem to be text files,
at least the headers.
After compiling via Makefile I get the erro message "Don't know how to make /usr/../contrib/dev/../*iwl*.fw.uu".
I use the PC-BSD 9.0
Reply With Quote
  #10  
Old November 12th, 2012, 09:16
xmj xmj is offline
Junior Member
 
Join Date: Oct 2012
Posts: 7
Thanks: 0
Thanked 4 Times in 3 Posts
Default

The file should be *ucode.
I put the firmware into /usr/src/sys/contrib/dev/iwn/iwlwifi-6000g2b-18.168.6.1.fw.uu.
When I tried to % cat it, the output was garbage. After uudecoding it, as is invoked by some other Makefile, I was able to actually see some sourcecode.

I didn't do anything with it, though.

Make sure you point the /usr/src/sys/modules/iwnfw/iwn6000g2b/Makefile to the iwlwifi-6000g2b-18.168.6.1.fw.uu -- just leave out the .fw.uu part.
Reply With Quote
  #11  
Old November 13th, 2012, 21:28
vandunen vandunen is offline
Junior Member
 
Join Date: Nov 2012
Posts: 2
Thanks: 0
Thanked 0 Times in 0 Posts
Default

I uuencoded the microcode and the compilation via described Makefile worked.
Thanks a lot!

The only problem I had is with kernel loading the if_iwn, but I guess that's another topic
which is not suppposed to be to mentioned in this thread
Reply With Quote
  #12  
Old November 17th, 2012, 22:26
patpro patpro is offline
Junior Member
 
Join Date: Jan 2011
Location: France
Posts: 50
Thanks: 3
Thanked 0 Times in 0 Posts
Default

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
Reply With Quote
  #13  
Old November 21st, 2012, 06:05
xmj xmj is offline
Junior Member
 
Join Date: Oct 2012
Posts: 7
Thanks: 0
Thanked 4 Times in 3 Posts
Default

/usr/src/sys/dev/iwn/if_iwn.c comes with support for two "Intel Centrino Advanced-N 6230" chips.
Code:
<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...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.
Reply With Quote
The Following User Says Thank You to xmj For This Useful Post:
patpro (November 22nd, 2012)
  #14  
Old November 22nd, 2012, 20:22
patpro patpro is offline
Junior Member
 
Join Date: Jan 2011
Location: France
Posts: 50
Thanks: 3
Thanked 0 Times in 0 Posts
Default

Thank you xmj, that's good news.
Looks like I can buy this "Relia" box then http://aleutia.com/products/relia-fa...ustrial-server
Reply With Quote
  #15  
Old November 24th, 2012, 22:30
xmj xmj is offline
Junior Member
 
Join Date: Oct 2012
Posts: 7
Thanks: 0
Thanked 4 Times in 3 Posts
Default

To get back on topic, here's the output for FreeBSD 10.0-CURRENT #7 r243502M: Sat Nov 24 22:51:00 EET 2012
# svn diff
Code:
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>
Reply With Quote
  #16  
Old November 26th, 2012, 09:23
bschmidt bschmidt is offline
Member
 
Join Date: Oct 2009
Location: Schwandorf, Germany
Posts: 298
Thanks: 0
Thanked 39 Times in 28 Posts
Default

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.
Reply With Quote
  #17  
Old January 23rd, 2013, 03:13
quali quali is offline
Junior Member
 
Join Date: Dec 2012
Posts: 4
Thanks: 0
Thanked 0 Times in 0 Posts
Default

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

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 # kldunload if_iwn, 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
# uuencode
in case it takes one hour to encode and you start to realize you're doing something wrong;
# b64encode -o iwlwifi-6000g2b-18.168.6.1.fw.uu iwlwifi-6000g2b-6.ucode iwlwifi-6000g2b-18.168.6.1.fw.uu

Happy wireless surfing.
Reply With Quote
  #18  
Old January 23rd, 2013, 10:04
quali quali is offline
Junior Member
 
Join Date: Dec 2012
Posts: 4
Thanks: 0
Thanked 0 Times in 0 Posts
Default

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.
Reply With Quote
  #19  
Old February 8th, 2013, 21:38
lunix1 lunix1 is offline
Junior Member
 
Join Date: Feb 2013
Posts: 1
Thanks: 1
Thanked 0 Times in 0 Posts
Default

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 iwn0 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 b64encode the .ucode before copying it. After that, I was able to kldload iwn6000g2bfw, kldunload it, no need to kldload if_iwn already loaded at boot, no succes to kldunload if_iwn (no reboot but "can't find if_iwn.ko file" message).

Now wlan0 is created in NM, status: associated, wireless LED is up and responding to Fn +F... keys combination, BUT wlan0 (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; wlan0 status is still "associated" (not active); AP isolation was just a try and disabling it can't break the wireless connection.

Conclusions:
  • the iwn 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.

Last edited by DutchDaemon; February 9th, 2013 at 14:17. Reason: Formatting & Style: http://forums.freebsd.org/showthread.php?t=8816 / http://forums.freebsd.org/showthread.php?t=18043
Reply With Quote
  #20  
Old May 11th, 2013, 03:14
HenryHu HenryHu is offline
Junior Member
 
Join Date: Nov 2008
Posts: 2
Thanks: 0
Thanked 0 Times in 0 Posts
Default

I just tried to use iwn with 6235 on my ASUS UX51VZ. By using this method, I'm able to create wlan0. However, it keeps switching between "associated" and "no carrier". After configuring it with -ht40, it works fairly well. I've not tested the performance, but at least the connection seems stable.

Last edited by DutchDaemon; May 11th, 2013 at 19:14. Reason: Proper formatting: http://forums.freebsd.org/showthread.php?t=8816
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Drivers for intel centrino N-100 thetataz System Hardware 2 May 20th, 2012 02:06
intel Centrino 6150 Wireless Card kuku Mobile Computing 0 September 3rd, 2011 21:29
Driver for Intel Centrino Ultimate-N 6300 mariow System Hardware 1 February 17th, 2011 08:52
Support for Intel Centrino 5300 and / or 6300? RamGuy System Hardware 1 March 18th, 2010 20:26
Which FreeBSD do I install (Centrino 2, Intel 64-bit) ? devildog System Hardware 10 August 25th, 2009 16:26


All times are GMT +1. The time now is 21:57.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2013, vBulletin Solutions, Inc.
The mark FreeBSD is a registered trademark of The FreeBSD Foundation and is used by The FreeBSD Project with the permission of The FreeBSD Foundation.
Web protection and acceleration provided by CloudFlare
0