Trying to get WiFi work on Thinkpad T520

I am having a hard time trying to get WLAN work on the Thinkpad T520 with its Centrino 6300 wifi card using 13.0-RELEASE-p8.
Code:
# pciconf -lv
<snip>
iwn0@pci0:3:0:0:        class=0x028000 rev=0x3e hdr=0x00 vendor=0x8086 device=0x4238 subvendor=0x8086 subdevice=0x1111
    vendor     = 'Intel Corporation'
device     = 'Centrino Ultimate-N 6300'
class      = network
<snip>
# sysctl net.wlan.devices
net.wlan.devices: iwn0
#

/boot/loader.conf :
Code:
if_iwn_load="YES"
iwnfw_load="YES"
iwn6000fw_load="YES"
#wlan_wep_load="YES"
#wlan_ccmp_load="YES"
#wlan_tkip_load="YES"

/etc/rc.conf :
Code:
wlans_iwn0="wlan0"
ifconfig_wlan0="WPA SYNCDHCP"
create_args_wlan0="country DE"
wpa_supplicant_enable="YES"

/etc/wpa_supplicant.conf :
Code:
country=DE

network={
#       priority=1
#       proto=WPA
ssid="mywifi"
psk="password"
}

Whatever I try, wlan0 does not appear when looking at ifconfig.
On another computer with the Intel 8265 this exact configuration (except for iwm8265fw_load="YES") works just fine.
I suspect there is some firmware problem. With iwmfw_load or specifying particular firmwares, like in the config shown above, I had no success.
(Edit: I tried the 6000, 6000g2a, 6000g2b and 6050 firmwares to no avail. Could it be that the 6300 firmware is missing?)
(Edit 2: How I hate the default vt newcons setting! The font was microscopically small, so I misread "iwn" for "iwm", as it was shown on the 8265, and, thanks to good old sc console on the other computer, readable without microscope. After changing the "iwm" settings to "iwn", the wlan gets associated, but traffic does not work yet.)

Any idea?
 
Unfortunately same problem for me. After upgrading from 13.0 -Release to 13.1-Release my wifi shows these characteristics:

- at home-network, with ssid and WPS-WPA2 identification, functions haphazardly, but if connection and ip via dhcp established after attempting several `doas service netif restart` then ok.
- at work-network which allows connection by MAC address only, ssid, but no password. Can connect and get ip via dhcp, but no nameserver functionality.

This occurred at two laptops after upgrading 13.0 to 13.1. The only difference with the OP is that most of /boot/loader.conf is in /etc/rc.conf, and I use a lagg interface setup to switch between cable/wifi.

SInce everything functionned flawlessly before, the firmware suggestion of the OP might be a realistic one. Any suggestions?
 
Any suggestions?
Last week I pulled the laptop from the shelf to try again getting it work, continuing from the point where I gave up.
To my big surprise, when I started it up and checked ifconfig, ping google.com and firefox, all worked just fine.

It had the 6050 firmware loading configured( iwn6050fw_load="YES" ).
So my feeling is that possibly it might be necessary to do hard power down/up before attempting to load/run different firmwares, not just rebooting.
But right now, this is just a guess.
 
Are there netmask errors in dmesg or they may only be only visible on the 1st terminal console, CTRL-ALT-F1? Also, see if the problem is only for IPv4. I had this problem, while IPv6 continued to work, which explained why I was able to continue accessing forums.Freebsd.org.

Try setting the IP manually with a netmask, to see if it works, instead of DHCP. Disabling devd could cause DHCPD to stop working. devd should only be disabled for temporary purposes. It was dbus which is the one that people consider disabling on FreeBSD.
 
This is from a reddit post I just made about this WiFi card, so hopefully it can reach more FreeBSD users:

I know this is an old thread, but it's still relevant. I have a Thinkpad T520 with this same card and the wireless 11a channel that I use on my lounge WiFi AP (FreeBSD + hostapd on a low power Celeron mini-ITX box) does not play well with this card. My bedroom WiFi AP (same setup as lounge) runs on a different channel and it has no issue. So I believe it's the wider 40MHz channels (HT40) that the FreeBSD driver can't handle.

I noticed that another laptop (Thinkpad T420) could connect to the lounge AP with no issues. It has an Intel Centrino Advanced-N 6205 in it, same settings as the T520 and with no need for anything in /boot/loader.conf. I swapped the WiFi cards and tested again. This time the Ultimate-N 6300 worked in FreeBSD 12.2 on the T420 whilst it didn't on FreeBSD 15.0 on the T520. I noticed that the T420 used wpa_supplicant from ports which made it connect to the lounge AP and somewhat work. So I installed wpa_supplicant on the T520 and it then started working. I could connect quite fast to the AP and ping [URL='http://google.com']google.com[/URL] with no issue. However, I could not ssh into a machine on my LAN (at all), so there is still a problem. There seems to be major ARP level problems or something.

For me, the solution was to swap the WiFi cards from another T420 (yes, I have many Thinkpads) which runs Slackware64 Linux and has no issues with the 6300 card. The only thing is that one antenna connector is missing a connector because the T420 only has 2 and the 6300 has 3. So there is a bit of redundancy on the T520 due to FreeBSD lacking support for this card. Not an issue for me, I use wired as much as possible anyway.

So, my recommendations are as follows, in order of preference:

1.) Use another WiFi card. The Intel Centrino Advanced-N 6205 is ideal. Note that Lenovo whitelist their cards, so only a Lenovo FRU card will work (unless you use an alternate BIOS like Libreboot). However, these cards must be plentiful, almost all T420's used them. One must be able to get one on ebay for a good price. The FRU you need to look for is 60Y3253. This will give you reliable and smooth (although not fast) connections on both 2.4GHz and 5GHz WiFi. Just get one of these cards and save on headaches down the road (or certainly on the road).

2.) Switch to wpa_supplicant from ports/packages. Remember to set the wpa_supplicant deamon in /etc/rc.conf (see below). And change the channels/bands on your AP to one that works better, probably avoiding the HT/40 channels. This will work well at home. As for APs outside of your control, if you stick to 2.4GHz WiFi you should be fine, but you'll run into problems on some 5GHz channels.

Snippet from my /etc/rc.conf:



Code:
# [WIFI]
wlans_iwn0="wlan0"
ifconfig_wlan0="WPA DHCP"
create_args_wlan0="country ZA"
wpa_supplicant_program="/usr/local/sbin/wpa_supplicant"
wpa_supplicant_conf_file="/etc/wpa_supplicant.conf"

Problematic channel: channel 136 (5680 MHz 11a ht/40-)
Non-problematic channel: channel 36 (5180 MHz 11a ht/20)
 
I can confirm that these two connect w/o any issues:

- Intel Centrino Advanced-N 6205 (2 antennas)

- Intel Centrino Advanced-N 6300 (3 antennas) [*]

EDIT:

[*]
Thanks for correction. I meant Intel Centrino Ultimate-N 6300 of course.
 
Last edited:
I can confirm that these two connect w/o any issues:

- Intel Centrino Advanced-N 6205 (2 antennas)

- Intel Centrino Advanced-N 6300 (3 antennas)

Is there another model called Intel Centrino Advanced-N 6300, it sounds so similar to Intel Centrino Ultimate-N 6300. If so, I will have to try and find one on ebay or such. Then I can have my white antenna cable plugged in. And I wonder if it gets better speeds than the 6205?
 
I meant Intel Centrino Ultimate-N 6300 - I forgot how bad Intel is at naming things in sane way :)
I would say its little faster - but only if you have a router that have dedicated 3 or 4 antennas to 'do' the 2.4GHz range (there are not many).

This way with 802.11n and 3x3 MIMO you would benefit more then just 2x2 MIMO ... unless the driver for FreeBSD is still in the 802.11g range :)
 
I meant Intel Centrino Ultimate-N 6300 - I forgot how bad Intel is at naming things in sane way :)
I would say its little faster - but only if you have a router that have dedicated 3 or 4 antennas to 'do' the 2.4GHz range (there are not many).

This way with 802.11n and 3x3 MIMO you would benefit more then just 2x2 MIMO ... unless the driver for FreeBSD is still in the 802.11g range :)

OK, in that case, I disagree that the Centrino Ultimate-N 6300 works w/o any issues. I got it working fine on one AP with channel 36 (HT/20) but it does not work properly (not usable) on the other AP with channel 136 (HT/40-). I think any channel with HT/40 (wider channel) will not work with the 6300 card. It may connect, but it will have major problems and is basically unusable. Maybe you are sticking to 2.4GHz band which works fine. My latest testing was done on FreeBSD 15.0-RELEASE and up-to-date ports (wpa_supplicant) Everything I said in my detailed post above still applies. I highly recommend ditching the 6300 card for something that works in all cases (11a/b/g/n).
 
Back
Top