Hi,
I am trying to port Intel Centrino-N 135 wifi module into iMx6q. (Android ICS version, code base is R13.4)
For figuring out what issues are I met, here are my procedures :
1. insmod cfg80211.ko
2. insmod mac80211.ko
3. insmod iwlan.ko debug=0x43ffff
Till now, those output messages are quite ok.
Then I started the wpa_supplicant, then those messages are coming :
start wpa_supplicant
ieee80211 phy0: U iwlagn_mac_start enter
ieee80211 phy0: U iwl_prep_station Add STA to driver ID 15: ff:ff:ff:ff:ff:ff
ieee80211 phy0: U iwl_prep_station Add STA to driver ID 14: ff:ff:ff:ff:ff:ff
ieee80211 phy0: U iwl_prepare_card_hw iwl_prepare_card_hw enter
ieee80211 phy0: U iwl_set_hw_ready hardware ready
ieee80211 phy0: U iwl_apm_init Init card's basic functions
ieee80211 phy0: U iwl_apm_init L1 Disabled; Enabling L0S
ieee80211 phy0: U iwlagn_load_section INST uCode section being loaded...
ieee80211 phy0: U iwlagn_load_section DATA uCode section being loaded...
ieee80211 phy0: I iwlagn_alive_fn Alive ucode status 0x00000001 revision 0x1 0x9
ieee80211 phy0: U iwlcore_verify_inst_sparse ucode inst image size is 139180
ieee80211 phy0: U iwl_verify_ucode uCode is good in inst SRAM
ieee80211 phy0: U iwlagn_tx_queue_set_status Activate AC/CMD Queue 0 on FIFO 3
ieee80211 phy0: U iwlagn_tx_queue_set_status Activate AC/CMD Queue 1 on FIFO 2
ieee80211 phy0: U iwlagn_tx_queue_set_status Activate AC/CMD Queue 2 on FIFO 1
ieee80211 phy0: U iwlagn_tx_queue_set_status Activate AC/CMD Queue 3 on FIFO 0
ieee80211 phy0: U iwlagn_tx_queue_set_status Activate AC/CMD Queue 4 on FIFO 0
ieee80211 phy0: U iwlagn_tx_queue_set_status Activate AC/CMD Queue 5 on FIFO 4
ieee80211 phy0: U iwlagn_tx_queue_set_status Activate AC/CMD Queue 6 on FIFO 2
ieee80211 phy0: U iwlagn_tx_queue_set_status Activate AC/CMD Queue 7 on FIFO 5
ieee80211 phy0: U iwlagn_tx_queue_set_status Activate AC/CMD Queue 8 on FIFO 4
ieee80211 phy0: U iwlagn_tx_queue_set_status Activate AC/CMD Queue 9 on FIFO 7
ieee80211 phy0: U iwl_send_cmd_sync Attempting to send sync command COEX_PRIORITY_TABLE_CMD
ieee80211 phy0: U iwl_send_cmd_sync Setting HCMD_ACTIVE for command COEX_PRIORITY_TABLE_CMD
ieee80211 phy0: U iwl_enqueue_hcmd Sending command COEX_PRIORITY_TABLE_CMD (#5a), seq: 0x0900, 72 bytes at 0[0]:9
ieee80211 phy0: I iwl_tx_cmd_complete Clearing HCMD_ACTIVE for command COEX_PRIORITY_TABLE_CMD
iwlagn 0000:01:00.0: Microcode SW error detected. Restarting 0x2000000.
iwlagn 0000:01:00.0: Loaded firmware version: 18.168.6.1
iwlagn 0000:01:00.0: Start IWL Error Log Dump:
iwlagn 0000:01:00.0: Status: 0x00040224, count: 6
iwlagn 0000:01:00.0: 0x000019B4 | ADVANCED_SYSASSERT
iwlagn 0000:01:00.0: 0x00014D38 | uPc
iwlagn 0000:01:00.0: 0x00014D2A | branchlink1
iwlagn 0000:01:00.0: 0x00014D2A | branchlink2
iwlagn 0000:01:00.0: 0x0000CDCE | interruptlink1
iwlagn 0000:01:00.0: 0x00000000 | interruptlink2
iwlagn 0000:01:00.0: 0x0000021F | data1
iwlagn 0000:01:00.0: 0x00000171 | data2
iwlagn 0000:01:00.0: 0x00000171 | line
iwlagn 0000:01:00.0: 0x004071C0 | beacon time
iwlagn 0000:01:00.0: 0x0002AE40 | tsf low
iwlagn 0000:01:00.0: 0x00000000 | tsf hi
iwlagn 0000:01:00.0: 0x00000000 | time gp1
iwlagn 0000:01:00.0: 0x0002AE44 | time gp2
iwlagn 0000:01:00.0: 0x00000000 | time gp3
iwlagn 0000:01:00.0: 0x754312A8 | uCode version
iwlagn 0000:01:00.0: 0x00000120 | hw version
iwlagn 0000:01:00.0: 0x00C80300 | board version
iwlagn 0000:01:00.0: 0x0900005A | hcmd
iwlagn 0000:01:00.0: CSR values:
iwlagn 0000:01:00.0: (2nd byte of CSR_INT_COALESCING is CSR_INT_PERIODIC_REG)
iwlagn 0000:01:00.0: CSR_HW_IF_CONFIG_REG: 0X00c80300
iwlagn 0000:01:00.0: CSR_INT_COALESCING: 0X0000ff40
iwlagn 0000:01:00.0: CSR_INT: 0X10000000
iwlagn 0000:01:00.0: CSR_INT_MASK: 0X00000000
iwlagn 0000:01:00.0: CSR_FH_INT_STATUS: 0X00000000
iwlagn 0000:01:00.0: CSR_GPIO_IN: 0X00000000
iwlagn 0000:01:00.0: CSR_RESET: 0X00000000
iwlagn 0000:01:00.0: CSR_GP_CNTRL: 0X080403c5
iwlagn 0000:01:00.0: CSR_HW_REV: 0X00000120
iwlagn 0000:01:00.0: CSR_EEPROM_REG: 0X45180ffd
iwlagn 0000:01:00.0: CSR_EEPROM_GP: 0X90000801
iwlagn 0000:01:00.0: CSR_OTP_GP_REG: 0X00030001
iwlagn 0000:01:00.0: CSR_GIO_REG: 0X00080044
iwlagn 0000:01:00.0: CSR_GP_UCODE_REG: 0X0000001e
iwlagn 0000:01:00.0: CSR_GP_DRIVER_REG: 0X00000000
iwlagn 0000:01:00.0: CSR_UCODE_DRV_GP1: 0X00000000
iwlagn 0000:01:00.0: CSR_UCODE_DRV_GP2: 0X00000000
iwlagn 0000:01:00.0: CSR_LED_REG: 0X00000018
iwlagn 0000:01:00.0: CSR_DRAM_INT_TBL_REG: 0X00000000
iwlagn 0000:01:00.0: CSR_GIO_CHICKEN_BITS: 0X29800200
iwlagn 0000:01:00.0: CSR_ANA_PLL_CFG: 0X00000000
iwlagn 0000:01:00.0: CSR_HW_REV_WA_REG: 0X0001001a
iwlagn 0000:01:00.0: CSR_DBG_HPET_MEM_REG: 0Xffff0000
iwlagn 0000:01:00.0: FH register values:
iwlagn 0000:01:00.0: FH_RSCSR_CHNL0_STTS_WPTR_REG: 0X0279d100
iwlagn 0000:01:00.0: FH_RSCSR_CHNL0_RBDCB_BASE_REG: 0X0027e2d0
iwlagn 0000:01:00.0: FH_RSCSR_CHNL0_WPTR: 0X00000000
iwlagn 0000:01:00.0: FH_MEM_RCSR_CHNL0_CONFIG_REG: 0X80819104
iwlagn 0000:01:00.0: FH_MEM_RSSR_SHARED_CTRL_REG: 0X000000fc
iwlagn 0000:01:00.0: FH_MEM_RSSR_RX_STATUS_REG: 0X07030000
iwlagn 0000:01:00.0: FH_MEM_RSSR_RX_ENABLE_ERR_IRQ2DRV: 0X00000000
iwlagn 0000:01:00.0: FH_TSSR_TX_STATUS_REG: 0X07ff0001
iwlagn 0000:01:00.0: FH_TSSR_TX_ERROR_REG: 0X00000000
iwlagn 0000:01:00.0: Start IWL Event Log Dump: display last 20 entries
iwlagn 0000:01:00.0: EVT_LOGT:0000026983:0x000000ff:1100
iwlagn 0000:01:00.0: EVT_LOGT:0000026984:0x000000ff:1100
iwlagn 0000:01:00.0: EVT_LOGT:0000026985:0x000000ff:1100
iwlagn 0000:01:00.0: EVT_LOGT:0000026985:0x000000ff:1100
iwlagn 0000:01:00.0: EVT_LOGT:0000026986:0x000000ff:1100
iwlagn 0000:01:00.0: EVT_LOGT:0000174346:0x0900005a:0401
iwlagn 0000:01:00.0: EVT_LOGT:0000174347:0x0900005a:1512
iwlagn 0000:01:00.0: EVT_LOGT:0000174457:0x00000003:1211
iwlagn 0000:01:00.0: EVT_LOGT:0000174457:0x00000003:1211
iwlagn 0000:01:00.0: EVT_LOGT:0000174458:0x00000000:1211
iwlagn 0000:01:00.0: EVT_LOGT:0000174460:0x00000004:1211
iwlagn 0000:01:00.0: EVT_LOGT:0000174461:0x00000003:1211
iwlagn 0000:01:00.0: EVT_LOGT:0000174464:0x00000001:1211
iwlagn 0000:01:00.0: EVT_LOGT:0000174464:0x00000000:1211
iwlagn 0000:01:00.0: EVT_LOGT:0000174465:0x00000001:1211
iwlagn 0000:01:00.0: EVT_LOGT:0000174466:0x00000001:1211
iwlagn 0000:01:00.0: EVT_LOGT:0000174466:0xcafe0001:1214
iwlagn 0000:01:00.0: EVT_LOGT:0000175229:0x0002ac7d:1110
iwlagn 0000:01:00.0: EVT_LOGT:0000175681:0x0000021f:1132
iwlagn 0000:01:00.0: EVT_LOGT:0000175691:0x00000000:0125
ieee80211 phy0: U iwl_send_cmd_sync Attempting to send sync command REPLY_PHY_CALIBRATION_CMD
ieee80211 phy0: U iwl_send_cmd_sync Setting HCMD_ACTIVE for command REPLY_PHY_CALIBRATION_CMD
ieee80211 phy0: U iwl_enqueue_hcmd Sending command REPLY_PHY_CALIBRATION_CMD (#b0), seq: 0x0901, 12 bytes at 1[1]:9
iwlagn 0000:01:00.0: Error sending REPLY_PHY_CALIBRATION_CMD: time out after 500ms.
ieee80211 phy0: U iwl_send_cmd_sync Clearing HCMD_ACTIVE for command REPLY_PHY_CALIBRATION_CMD
iwlagn 0000:01:00.0: Error -110 iteration 0
iwlagn 0000:01:00.0: Could not complete ALIVE transition: -110
ieee80211 phy0: U iwl_apm_stop Stop card, put in low power state
ieee80211 phy0: U iwl_apm_stop_master stop master
iwlagn 0000:01:00.0: Failed to run INIT ucode: -110
ieee80211 phy0: U __iwl_down iwlagn is going down
ieee80211 phy0: U iwl_scan_cancel_timeout Scan cancel timeout
ieee80211 phy0: U iwl_do_scan_abort Not performing scan to abort
ieee80211 phy0: U iwl_clear_ucode_stations Clearing ucode stations in driver
ieee80211 phy0: U iwl_clear_ucode_stations No active stations found to be cleared
ieee80211 phy0: U iwl_apm_stop Stop card, put in low power state
ieee80211 phy0: U iwl_apm_stop_master stop master
iwlagn 0000:01:00.0: Unable to initialize device.
ieee80211 phy0: U __iwl_down iwlagn is going down
ieee80211 phy0: U iwl_scan_cancel_timeout Scan cancel timeout
ieee80211 phy0: U iwl_do_scan_abort Not performing scan to abort
ieee80211 phy0: U iwl_clear_ucode_stations Clearing ucode stations in driver
ieee80211 phy0: U iwl_clear_ucode_stations No active stations found to be cleared
ieee80211 phy0: U iwl_apm_stop Stop card, put in low power state
ieee80211 phy0: U iwl_apm_stop_master stop master
ieee80211 phy0: Hardware restart was requested
ieee80211 phy0: U iwlagn_configure_filter Enter: changed: 0x0, total: 0x80000000
root@android:/system/lib/modules #
root@android:/system/lib/modules # logcat
--------- beginning of /dev/log/main
D/wpa_supplicant( 2917): wpa_supplicant v0.8.x
D/wpa_supplicant( 2917): Add randomness: count=1 entropy=0
D/wpa_supplicant( 2917): random: Added entropy from /data/misc/wifi/entropy.bin (own_pool_ready=2)
D/wpa_supplicant( 2917): random: Trying to read entropy from /dev/random
D/wpa_supplicant( 2917): Get randomness: len=20 entropy=1
D/wpa_supplicant( 2917): random: Updated entropy file /data/misc/wifi/entropy.bin (own_pool_ready=2)
D/wpa_supplicant( 2917): Initializing interface 'wlan0' conf '/system/etc/wifi/wpa_supplicant.conf' driver 'nl80211' ctrl_interface 'N/A' bridge 'N/A'
D/wpa_supplicant( 2917): Configuration file '/system/etc/wifi/wpa_supplicant.conf' -> '/system/etc/wifi/wpa_supplicant.conf'
D/wpa_supplicant( 2917): Reading configuration file '/system/etc/wifi/wpa_supplicant.conf'
D/wpa_supplicant( 2917): update_config=1
D/wpa_supplicant( 2917): ctrl_interface='DIR=/data/system/wpa_supplicant GROUP=wifi'
D/wpa_supplicant( 2917): ap_scan=0
D/wpa_supplicant( 2917): Line: 8 - start of a new network block
D/wpa_supplicant( 2917): key_mgmt: 0x4
D/wpa_supplicant( 2917): Priority group 0
D/wpa_supplicant( 2917): id=0 ssid=''
D/wpa_supplicant( 2917): nl80211: interface wlan0 in phy phy0
I/wpa_supplicant( 2917): rfkill: Cannot open RFKILL control device
D/wpa_supplicant( 2917): nl80211: RFKILL status not available
E/wpa_supplicant( 2917): Could not set interface wlan0 flags: Connection timed out
E/wpa_supplicant( 2917): nl80211: Could not set interface 'wlan0' UP
E/wpa_supplicant( 2917): wlan0: Failed to initialize driver interface
D/wpa_supplicant( 2917): Failed to add interface wlan0
D/wpa_supplicant( 2917): Get randomness: len=20 entropy=0
D/wpa_supplicant( 2917): random: Updated entropy file /data/misc/wifi/entropy.bin (own_pool_ready=2)
Can anyone give me hint or suggestion ?
Regards,
Tonie
Solved! Go to Solution.
Hi Tony,
Looking at detail on the error dump i could say the following:
Even your are using a intel PCI express. Internally they use a CSR wifi ip.
The setup registers which could be configured at boot time on CSR chips are call PSKEYS like
"CSR_HW_IF_CONFIG_REG", "CSR_UCODE_DRV_GP2" , etc.
Those registers are documented in NDA technical document provided by CSR.
The problem here is somehow a binary with the PSKEYS is loaded but that cause a failure in
the communication with the CSR wifi module (that is very similar to a issue Bluetooth module).
The only way to solved it is not loading that binary(firmware bin) or ask intel to provide a tested/working firmware binary.
Regards,
-Israel.
Hi,
I've fixed this issue by other way.
As we know that the driver for Intel wifi modules came from backports-3.xxxx... (or compat-wireless-xxxx)
What I did was :
I download many different version of intel wirelss driver and try to port into my board.
And I found one version of these can work without modifying may code in driver.
This is just what I did and how I fix my issue.
Thanks.
Hi Tony,
Looking at detail on the error dump i could say the following:
Even your are using a intel PCI express. Internally they use a CSR wifi ip.
The setup registers which could be configured at boot time on CSR chips are call PSKEYS like
"CSR_HW_IF_CONFIG_REG", "CSR_UCODE_DRV_GP2" , etc.
Those registers are documented in NDA technical document provided by CSR.
The problem here is somehow a binary with the PSKEYS is loaded but that cause a failure in
the communication with the CSR wifi module (that is very similar to a issue Bluetooth module).
The only way to solved it is not loading that binary(firmware bin) or ask intel to provide a tested/working firmware binary.
Regards,
-Israel.
Hi, Israel,
Thanks for your information.
I will try to follow your suggestion and tell if I have any result.
Regards,
Tonie
Hi, I'm having the same issue using a pcie card with Intel 6235 on an i.mx6 board with kernel 3.0.35.
Have you been able to solve this problem?
Hi,
Seem to be a problem with the physical layer.
Are you using a PCI express module? Or is USB?
I ask because similar errors also appear on Bluetooth layer when the buadrate, parity or link layer are not setup
properly to the ones stored in the chip firmware then it will start to generate timeouts and also frame errors.
Do you have that information for that wifi module?
Regards,
-Israel
Hi, Israel,
Sorry for lately response.
What I used is PCI express modules.
And I didn't have any further information about that wifi module. (Intel doesn't release any doc to us)
All I have is those file from the opensource of Intel wifi module.
Regards,
Tonie
Tonie, did Israel answer your question. If yes, please click Correct Answer button so that we can close the DI.
Regards,
Yixing,
Hi,
Seem to be a problem with the physical layer.
Are you using a PCI express module? Or is USB?
I ask because similar errors also appear on Bluetooth layer when the buadrate, parity or link layer are not setup
properly to the ones stored in the chip firmware then it will start to generate timeouts and also frame errors.
Do you have that information for that wifi module?
Regards,
-Israel