My Realtek RTL8187 USB wifi card is having trouble keeping a connection for more than a few seconds, while on the same machine under Windows 7 it has no problem. When I make the connection, I have a few seconds of full-bandwidth communication, followed by the connection completely failing to send or receive packets (the card usually makes a soft sound from the antenna, under both OSs, which cuts out, along with actual networking capabilities on Ubuntu). Network manager and WICD both report the card as still connected, with reasonable signal levels (around -40dBi, which is not a problematic level for this card on Windows). The loss of communication happens replicably and reliably, although occasionally I manage to transmit and receive a few stray packets. The indicator light on the card flickers constantly and abnormally quickly after the connection is lost.
I’ve tried to connect to both my WPA2 and (with consent) a neighbor’s WEP access points (mine being Netgear, and theirs being Belkin), with the same result of losing the link after roughly one second. Ethernet is un-affected. This card is being used with the
rtl8187 kernel module. I’m using a clean, fresh installation of Trusty x64. This did not occur on the live CD.
dmesg | tail -n 25 for the WEP network:
[email protected]:~/Downloads$ dmesg | tail -n 25 [16505.923287] wlan1: associated [16505.923370] IPv6: ADDRCONF(NETDEV_CHANGE): wlan1: link becomes ready [16505.943812] IPv6: ADDRCONF(NETDEV_CHANGE): wlan1: link becomes ready [16535.278129] atl1c 0000:01:00.0: atl1c: eth0 NIC Link is Down [16540.067784] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready [16543.677051] wlan1: deauthenticating from [PREVIOUS AP MAC] by local choice (reason=3) [16543.737566] cfg80211: Calling CRDA to update world regulatory domain [16543.747499] cfg80211: World regulatory domain updated: [16543.747510] cfg80211: (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp) [16543.747518] cfg80211: (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2000 mBm) [16543.747524] cfg80211: (2457000 KHz - 2482000 KHz @ 40000 KHz), (300 mBi, 2000 mBm) [16543.747529] cfg80211: (2474000 KHz - 2494000 KHz @ 20000 KHz), (300 mBi, 2000 mBm) [16543.747534] cfg80211: (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 mBi, 2000 mBm) [16543.747539] cfg80211: (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 2000 mBm) [16546.240014] wlan1: authenticate with [AP MAC] [16546.298661] wlan1: send auth to [AP MAC] (try 1/3) [16546.300412] wlan1: authenticated [16546.300741] rtl8187 1-3:1.0 wlan1: disabling HT/VHT due to WEP/TKIP use [16546.300747] rtl8187 1-3:1.0 wlan1: disabling HT as WMM/QoS is not supported by the AP [16546.300751] rtl8187 1-3:1.0 wlan1: disabling VHT as WMM/QoS is not supported by the AP [16546.304473] wlan1: associate with [AP MAC] (try 1/3) [16546.307090] wlan1: RX AssocResp from [AP MAC] (capab=0x431 status=0 aid=2) [16546.307946] wlan1: associated [16546.307992] IPv6: ADDRCONF(NETDEV_CHANGE): wlan1: link becomes ready [16546.308625] IPv6: ADDRCONF(NETDEV_CHANGE): wlan1: link becomes ready
Module Size Used by rtl8187 64909 0 mac80211 626489 1 rtl8187 cfg80211 484040 2 mac80211,rtl8187 nls_utf8 12557 0 isofs 39835 0 ctr 13049 0 ccm 17773 0 rfcomm 69160 0 bnep 19624 2 bluetooth 395423 10 bnep,rfcomm hid_generic 12548 0 joydev 17381 0 uvcvideo 80885 0 videobuf2_vmalloc 13216 1 uvcvideo videobuf2_memops 13362 1 videobuf2_vmalloc videobuf2_core 40664 1 uvcvideo videodev 134688 2 uvcvideo,videobuf2_core usbhid 52616 0 eeprom_93cx6 13344 1 rtl8187 arc4 12608 2 hid 106148 2 hid_generic,usbhid kvm_amd 59987 0 kvm 451511 1 kvm_amd radeon 1514165 3 psmouse 102222 0 k10temp 13126 0 toshiba_acpi 22901 0 sparse_keymap 13948 1 toshiba_acpi serio_raw 13462 0 wmi 19177 1 toshiba_acpi snd_hda_codec_conexant 57441 1 snd_hda_codec_hdmi 46207 1 snd_hda_intel 52355 5 snd_hda_codec 192906 3 snd_hda_codec_hdmi,snd_hda_codec_conexant,snd_hda_intel ttm 85115 1 radeon snd_hwdep 13602 1 snd_hda_codec snd_pcm 102099 3 snd_hda_codec_hdmi,snd_hda_codec,snd_hda_intel snd_page_alloc 18710 2 snd_pcm,snd_hda_intel snd_seq_midi 13324 0 snd_seq_midi_event 14899 1 snd_seq_midi snd_rawmidi 30144 1 snd_seq_midi snd_seq 61560 2 snd_seq_midi_event,snd_seq_midi snd_seq_device 14497 3 snd_seq,snd_rawmidi,snd_seq_midi snd_timer 29482 2 snd_pcm,snd_seq drm_kms_helper 52758 1 radeon snd 69238 21 snd_hwdep,snd_timer,snd_hda_codec_hdmi,snd_hda_codec_conexant,snd_pcm,snd_seq,snd_rawmidi,snd_hda_codec,snd_hda_intel,snd_seq_device,snd_seq_midi soundcore 12680 1 snd drm 302817 5 ttm,drm_kms_helper,radeon video 19476 0 i2c_piix4 22155 0 i2c_algo_bit 13413 1 radeon mac_hid 13205 0 parport_pc 32701 0 ppdev 17671 0 lp 17759 0 parport 42348 3 lp,ppdev,parport_pc ahci 25819 2 atl1c 46086 0 libahci 32168 1 ahci
I’m at a loss here, as I’ve tried reboots,
network-manager. The card itself is fine on Windows 7 (as I still dual-boot and can test it). I’ve removed network-manager before using wicd, and vice-versa, as well as having both installed. My suspicion is that some service or background program is causing the card to channel-hop, but I am not sure how to check whether that is happening, or which service is causing it. However, the hard-block issues seen on the live CD are not happening.
Due to my not having been able to check this on previous versions due to GPU incompatibility making Ubuntu unusable, I have no evidence that this is a bug introduced in Trusty.
sudo iwconfig wlan1 when not connected:
wlan1 IEEE 802.11bg ESSID:off/any Mode:Managed Access Point: Not-Associated Tx-Power=20 dBm Retry long limit:7 RTS thr:off Fragment thr:off Encryption key:off Power Management:off
sudo iwconfig wlan1 when connected to my WPA2 net:
wlan1 IEEE 802.11bg ESSID:"XXXXXXXXXX" Mode:Managed Frequency:2.462 GHz Access Point: XX:XX:XX:XX:XX:XX Bit Rate=54 Mb/s Tx-Power=20 dBm Retry long limit:7 RTS thr:off Fragment thr:off Encryption key:off Power Management:off Link Quality=39/70 Signal level=-71 dBm Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:0 Invalid misc:2 Missed beacon:0
sudo iwconfig wlan1 for WEP:
wlan1 IEEE 802.11bg ESSID:"XXXXXXXXXX" Mode:Managed Frequency:2.437 GHz Access Point: XX:XX:XX:XX:XX:XX Bit Rate=11 Mb/s Tx-Power=20 dBm Retry long limit:7 RTS thr:off Fragment thr:off Encryption key:15A4-A159-AF Power Management:off Link Quality=47/70 Signal level=-63 dBm Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:27 Invalid misc:33 Missed beacon:0
I know for a fact that Windows experiences higher signal levels, both in terms of the
dBm scale, and in terms of reported percentage connection quality.
Here is Solutions:
We have many solutions to this problem, But we recommend you to use the first solution because it is tested & true solution that will 100% work for you.
Edit: The previous link to the drivers was broken. It appears it’s built into the kernel now according to this I believe the rest of this answer is still valid.
If this fails you could try this. source: http://www.backtrack-linux.org/forums/showthread.php?t=54375
Now open a new terminal and type the following:
ifconfig wlan1 down
or wlan0, whichever your card is on. use “ifconfig -a” to find out
Note the following 2 steps may be illegal in your country, if so skip them and continue.
iw reg set BO
This sets the country code to boliva so you can use the alfa card in max power.
iwconfig wlan1 txpower 30
or wlan0, whichever your card is on.
This sets your card to 30db which is the max power the card can use.
iwconfig wlan1 rate 1M
or wlan0, whichever your card is on.
This should fix the connection drop or very slow internet problem [main issue for me]
Now you are almost done, just type the following:
ifconfig wlan1 up
or wlan0, whichever your card is on.
Now just open your network manager and connect to your network and the problem should be fixed.
Just using iwconfig to set your rate, it will revert after rebooting.
You can add the line to your /etc/rc.local to make it run every reboot though.
I prefer to use something like:
iwconfig wlan1 rate 18M AUTO
which is “normal auto-rate up to 18M”
There are a few other things that can help with unstable/low quality connections…
namely setting RTS & fragmentation threshold (default 2300ish) to 512 or lower to force smaller packet sizes (down to as low as 256). With this you could get stable at much higher data rates than before.
Overall, I start with this to my /etc/rc.local & tweak occasionally til it’s rock stable.
iwconfig wlan1 rate 36M auto iwconfig wlan1 frag 512 iwconfig wlan1 rts 512
Another thing you could try is safe removal from windows 7 (to power it down and insure is isn’t left in an unstable state) prior to rebooting ubuntu and reinserting into the port.
One more thing to try is to adjust both short and long retries at the driver level.
iwconfig wlan1 retry short 21 iwconfig wlan1 retry long 21
Setting the retries to 31 has also been reported to work (see comments below)
What put me onto looking up these commands in the man page for iwconfig was information I found here:
Try specifying a static IP address. You’ll have to find an IP outside the block offered by your router (your router may default to offering addresses above 192.168.1.100). Set your NIC to a double static double digit IP such as 192.168.1.10.
You can do this by click:
(Click on) Network Manager Notification Icon > Edit > Edit Connections
(Select the Wifi Connection by name) > Edit > (click tab) IPv4 Setting > (Change Automatic DHCP to) Manual > Add (Fill in: Address,
Netmask, Gateway) > (Fill in DNS servers coma seperated) > (optional
Search domains) > Save
Anything else can be left at default.
Note: Use and implement solution 1 because this method fully tested our system.
Thank you 🙂