My Intel 1500 wireless chip, driven by the iwlagn driver, began dropping my connection randomly and frequently, after a recent automatic update. Using wicd to disconnect and reconnect would fix it for a while, then it would start misbehaving again.
The following pattern was repeated frequently with each disconnect episode:
Googling "Stopping AGG while state not ON or starting" I found some bug reports that gave a fix.
In /etc/modprobe.d/options.conf, which contained the following:
options iwlagn disable_hw_scan=1 swcrypto50=1 swcrypto=1
I added "1n_disable=1" to give:
options iwlagn disable_hw_scan=1 swcrypto50=1 swcrypto=1 11n_disable=1
A stable connection was back and there is no loss of performance. I still get 14Mb/s download speed.
The following pattern was repeated frequently with each disconnect episode:
Code:
May 29 14:48:52 kernel: [ 8794.387547] iwlagn 0000:05:00.0: Loaded firmware version: 8.24.2.12 May 29 14:48:52 kernel: [ 8794.387567] iwlagn 0000:05:00.0: Start IWL Error Log Dump: May 29 14:48:52 kernel: [ 8794.387574] iwlagn 0000:05:00.0: Status: 0x000212E4, count: 5 May 29 14:48:52 kernel: [ 8794.387721] iwlagn 0000:05:00.0: Desc Time data1 data2 line May 29 14:48:52 kernel: [ 8794.387731] iwlagn 0000:05:00.0: NMI_INTERRUPT_WDG (#04) 0067388751 0x00000002 0x07030000 3664 May 29 14:48:52 kernel: [ 8794.387737] iwlagn 0000:05:00.0: pc blink1 blink2 ilink1 ilink2 hcmd May 29 14:48:52 kernel: [ 8794.387745] iwlagn 0000:05:00.0: 0x006E4 0x005AA 0x006E8 0x008B2 0x0229C 0xAF3001C May 29 14:48:52 kernel: [ 8794.387751] iwlagn 0000:05:00.0: CSR values: May 29 14:48:52 kernel: [ 8794.387756] iwlagn 0000:05:00.0: (2nd byte of CSR_INT_COALESCING is CSR_INT_PERIODIC_REG) May 29 14:48:52 kernel: [ 8794.387765] iwlagn 0000:05:00.0: CSR_HW_IF_CONFIG_REG: 0X00480303 May 29 14:48:52 kernel: [ 8794.387774] iwlagn 0000:05:00.0: CSR_INT_COALESCING: 0X00000040 May 29 14:48:52 kernel: [ 8794.387782] iwlagn 0000:05:00.0: CSR_INT: 0X00000000 May 29 14:48:52 kernel: [ 8794.387790] iwlagn 0000:05:00.0: CSR_INT_MASK: 0X00000000 May 29 14:48:52 kernel: [ 8794.387798] iwlagn 0000:05:00.0: CSR_FH_INT_STATUS: 0X00000000 May 29 14:48:52 kernel: [ 8794.387807] iwlagn 0000:05:00.0: CSR_GPIO_IN: 0X00000000 May 29 14:48:52 kernel: [ 8794.387815] iwlagn 0000:05:00.0: CSR_RESET: 0X00000000 May 29 14:48:52 kernel: [ 8794.387823] iwlagn 0000:05:00.0: CSR_GP_CNTRL: 0X080403c5 May 29 14:48:52 kernel: [ 8794.387832] iwlagn 0000:05:00.0: CSR_HW_REV: 0X00000054 May 29 14:48:52 kernel: [ 8794.387840] iwlagn 0000:05:00.0: CSR_EEPROM_REG: 0X00000000 May 29 14:48:52 kernel: [ 8794.387848] iwlagn 0000:05:00.0: CSR_EEPROM_GP: 0X90000004 May 29 14:48:52 kernel: [ 8794.387857] iwlagn 0000:05:00.0: CSR_OTP_GP_REG: 0X00060000 May 29 14:48:52 kernel: [ 8794.387865] iwlagn 0000:05:00.0: CSR_GIO_REG: 0X00080046 May 29 14:48:52 kernel: [ 8794.387873] iwlagn 0000:05:00.0: CSR_GP_UCODE_REG: 0X00006db1 ...... clip lots of lines like the ones above and below ...... EVT_LOGT:2317825657:0x000000d7:0123 May 29 14:48:52 kernel: [ 8794.388470] iwlagn 0000:05:00.0: EVT_LOGT:2317825665:0x00000000:0125 May 29 14:48:52 kernel: [ 8794.902926] iwlagn 0000:05:00.0: Stopping AGG while state not ON or starting May 29 14:48:52 kernel: [ 8794.902939] iwlagn 0000:05:00.0: queue number out of range: 0, must be 10 to 19 May 29 14:53:56 kernel: [ 9099.207112] iwlagn 0000:05:00.0: iwlagn_tx_agg_start on ra = d8:5d:4c:b9:f4:ba tid = 0 May 29 15:00:21 kernel: [ 9483.606109] iwlagn 0000:05:00.0: Microcode SW error detected. Restarting
In /etc/modprobe.d/options.conf, which contained the following:
options iwlagn disable_hw_scan=1 swcrypto50=1 swcrypto=1
I added "1n_disable=1" to give:
options iwlagn disable_hw_scan=1 swcrypto50=1 swcrypto=1 11n_disable=1
A stable connection was back and there is no loss of performance. I still get 14Mb/s download speed.
Comment