Re: Failed to scan network with 2200BG

"Cahill, Ben M" <[email protected]>
Newsgroups gmane.linux.drivers.ipw2100.devel
Message-ID <4220499A1B034C4FA93B547BA01E1FF006E11A@orsmsx413.amr.corp.intel.com>
Alright, I *do* see some evidence of byte order problems in the following!

> ipw2200: I ipw_rx Packet: type=03 seq=00 bits=00
> ipw2200: I ipw_rx Notification: subtype=14 flags=A0 size=26624
> ipw2200: I ipw_rx_notification type = 20 (104 bytes)

The 1-byte values (type, subtype, flags) look fine.  

The 2-byte size value, though, is byte-reversed; decimal 26624 = 0x6800.  If we reverse the bytes, 0x68 = decimal 104, which is the size the driver expects in the notification packet!  Debug output on Intel machines looks normal (not byte reversed).

So, this has a pretty good chance of messing things up!

-- Ben --

> -----Original Message-----
> From: Pascal Fifre [mailto:[email protected]] 
> Sent: Tuesday, November 14, 2006 5:26 AM
> To: Cahill, Ben M; [email protected]
> Cc: Liu, Hong
> Subject: RE: [Ipw2100-devel] Failed to scan network with 2200BG
> 
> Hi,
> 
> I've made some debug traces with 0x01043FFFF. Then I've for 
> now some DMA problems. It seems that this problem appears 
> eachtime after this debug trace
> :
> I ipw_net_hard_start_xmit Tx attempt while not associated.
> 
> This is the traces :
> 
> ipw2200: Intel(R) PRO/Wireless 2200/2915 Network Driver, 1.2.0kd
> ipw2200: Copyright(c) 2003-2006 Intel Corporation
> ieee80211: U alloc_ieee80211 Initializing...
> ipw2200: U ipw_pci_probe pci_resource_len = 0x00001000
> ipw2200: U ipw_pci_probe pci_resource_base = c5050000
> ipw2200: U ipw_sw_reset Hardware crypto [off]
> ipw2200: Detected Intel PRO/Wireless 2200BG Network Connection
> ipw2200: U ipw_get_fw Read firmware 'ipw2200-bss.fw' image 
> v3.0 (191126
> bytes)
> ipw2200: U ipw_load initial device response after 10ms
> ipw2200: U ipw_stop_master stop master 0ms
> ipw2200: U ipw_load_ucode Microcode OK, rev. 23249 (0x5ad1) 
> dev. 3 (0x3) of
> 11/2
> 2/04 20:27
> ipw2200: U ipw_load device response after 50ms
> ipw2200: U ipw_eeprom_init_sram Writing EEPROM data into SRAM
> ipw2200: U __ipw_send_cmd TX_POWER command (#35) 76 bytes: 0x00000003
> 00000000 0E 02 01 14 02 14 03 14  04 14 05 14 06 14 07 14   ........
> ........
> 00000010 08 14 09 14 0A 14 0B 14  0C 14 0D 14 0E 14 00 00   ........
> ........
> 00000020 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   ........
> ........
> 00000030 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   ........
> ........
> 00000040 00 00 00 00 00 00 00 00  00 00 00 00               
> ........ ....
> ipw2200: I ipw_irq_tasklet Command completed.
> ipw2200: U __ipw_send_cmd TX_POWER command (#35) 76 bytes: 0x00000003
> 00000000 0E 01 01 14 02 14 03 14  04 14 05 14 06 14 07 14   ........
> ........
> 00000010 08 14 09 14 0A 14 0B 14  0C 14 0D 14 0E 14 00 00   ........
> ........
> 00000020 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   ........
> ........
> 00000030 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   ........
> ........
> 00000040 00 00 00 00 00 00 00 00  00 00 00 00               
> ........ ....
> ipw2200: I ipw_irq_tasklet Command completed.
> ipw2200: U ipw_send_adapter_address eth1: Setting MAC to 
> 00:16:6f:93:c1:9b
> ipw2200: U __ipw_send_cmd ADAPTER_ADDRESS command (#11) 6 
> bytes: 0x00000003
> 00000000 00 16 6F 93 C1 9B                                  ..o...
> ipw2200: I ipw_irq_tasklet Command completed.
> ipw2200: U __ipw_send_cmd SYSTEM_CONFIG command (#6) 20 
> bytes: 0x00000003
> 00000000 00 00 00 00 01 00 01 00  01 00 00 00 00 00 00 1E   ........
> ........
> 00000010 00 00 01 00                                        ....
> ipw2200: I ipw_irq_tasklet Command completed.
> ipw2200: U __ipw_send_cmd SUPPORTED_RATES command (#22) 16 
> bytes: 0x00000003
> 00000000 02 0C 01 00 82 84 0B 16  0C 12 18 24 30 48 60 6C   ........
> ...$0H`l
> ipw2200: I ipw_irq_tasklet Command completed.
> ipw2200: U __ipw_send_cmd RTS_THRESHOLD command (#15) 4 
> bytes: 0x00000003
> 00000000 00 09 00 00                                        ....
> ipw2200: I ipw_irq_tasklet Command completed.
> ipw2200: U __ipw_send_cmd SEED_NUMBER command (#34) 4 bytes: 
> 0x00000003
> 00000000 2E F3 0A 50                                        ...P
> ipw2200: I ipw_irq_tasklet Command completed.
> ipw2200: U __ipw_send_cmd HOST_COMPLETE command (#2) 0 bytes: 
> 0x00000003
> ipw2200: I ipw_irq_tasklet Command completed.
> ipw2200: U ipw_up Configured device on count 0
> ipw2200: U __ipw_send_cmd SCAN_REQUEST_EXT command (#26) 96 bytes:
> 0x00000023
> 00000000 00 00 00 00 4E 01 02 03  04 05 06 07 08 09 0A 0B   ....N...
> ........
> 00000010 0C 0D 0E 00 00 00 00 00  00 00 00 00 00 00 00 00   ........
> ........
> 00000020 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   ........
> ........
> 00000030 00 00 00 00 00 00 00 00  00 00 03 33 33 33 33 33   ........
> ...33333
> 00000040 33 10 00 00 00 00 00 00  00 00 00 00 00 00 00 00   3.......
> ........
> 00000050 00 00 00 00 00 00 00 00  78 00 00 00 14 00 14 00   ........
> x.......
> ipw2200: I ipw_irq_tasklet Command completed.
> ipw2200: I ipw_rx Packet: type=03 seq=00 bits=00
> ipw2200: I ipw_rx Notification: subtype=14 flags=A0 size=26624
> ipw2200: I ipw_rx_notification type = 20 (104 bytes)
> ipw2200: I ipw_rx_notification TODO: Calibration
> ipw2200: Detected geography ZZR (14 802.11bg channels, 0 
> 802.11a channels)
> ipw2200: U ipw_net_open dev->open
> ipw2200: I ipw_rx Packet: type=03 seq=00 bits=00
> ipw2200: I ipw_rx Notification: subtype=0C flags=A0 size=11776
> ipw2200: I ipw_rx_notification type = 12 (46 bytes)
> ipw2200: I ipw_rx_notification Scan result for channel 1
> ipw2200: I ipw_net_hard_start_xmit Tx attempt while not associated.
> ~ # ipw2200: Start IPW Error Log Dump:
> ipw2200: Status: 0x00200020, Config: 00000340
> ipw2200: NMI_INTERRUPT 2765889 0x000003b4  0x00000000  0x000002f4
> 0x0000f578  0
> x00000000
> ipw2200: DMA_STATUS 2765893 0x00027000  0x00027420  
> 0x01540002  0x00000000 0x00 000000
> ipw2200: DMA_STATUS 2765896 0x00028400  0x00028420  
> 0x00540001  0x00000000 0x00
> 000001
> ipw2200: DMA_STATUS 2765900 0x00028000  0x000280b0  
> 0x00540000  0x9c6a4200 0x00
> 000002
> ipw2200: DMA_STATUS 2765904 0x00400000  0x00408000  
> 0x30408200  0x00000086 0x00
> 000003
> ipw2200: 176279 0x00000021      35
> ipw2200: 176282 0x00000021      22
> ipw2200: 176289 0x8021c504      22
> ipw2200: 176309 0x00000021      35
> ipw2200: 176312 0x00000021      22
> ipw2200: 176319 0x8021c604      22
> ipw2200: 176339 0x00000019      35
> ipw2200: 176342 0x00000019      22
> ipw2200: 176348 0x8019c704      22
> ipw2200: 176369 0x00000006      35
> ipw2200: 176372 0x00000006      22
> ipw2200: 176378 0x8006c804      22
> ipw2200: 176400 0x0000016d      288
> ipw2200: 177520 0x00000008      32
> ipw2200: 177531 0x00000014      35
> ipw2200: 177538 0x00000014      22
> ipw2200: 177544 0x8114c904      22
> ipw2200: 177579 0x0002aac0      96
> ipw2200: 182574 0x00000008      32
> ipw2200: 182585 0x0000000b      35
> ipw2200: 182589 0x0000000b      24
> ipw2200: 182598 0x00000172      25
> ipw2200: 182599 0x0002aac0      98
> ipw2200: 1226781        0x00000002      135
> ipw2200: 1226805        0x000000c7      201
> ipw2200: 1226818        0x00000002      99
> ipw2200: 1226822        0x00000002      99
> ipw2200: 1226826        0x00000001      99
> ipw2200: 1229035        0x00000032      9
> ipw2200: 1229038        0x00000017      9
> ipw2200: 1229041        0x000005c1      9
> ipw2200: 1229070        0x00000002      99
> ipw2200: 1229073        0x0002999c      99
> ipw2200: 1229078        0x00000130      287
> ipw2200: 1229186        0x0000016d      288
> ipw2200: 2252830        0x0002aac0      96
> ipw2200: 2273299        0x0000021a      93
> ipw2200: 2273302        0x0000054d      183
> ipw2200: 2273309        0x00000007      184
> ipw2200: 2273313        0x00000004      183
> ipw2200: 2273318        0x0000042b      191
> ipw2200: 173542 0x00000021      22
> ipw2200: 173548 0x8021af04      22
> ipw2200: 173568 0x00000006      35
> ipw2200: 173572 0x00000006      22
> ipw2200: 173578 0x8006b004      22
> ipw2200: 173630 0x00000389      140
> ipw2200: 173634 0xffffffff      139
> ipw2200: 173637 0x000003c8      139
> ipw2200: 173658 0x000002bd      129
> ipw2200: 173663 0x00000138      88
> ipw2200: 173667 0x00000001      85
> ipw2200: 173670 0x00000001      86
> ipw2200: 173673 0x00000002      87
> ipw2200: 173677 0x000001b3      130
> ipw2200: 173681 0x00000001      135
> ipw2200: 173685 0x00000001      99
> ipw2200: 173689 0x00000001      99
> ipw2200: 173693 0x00000000      99
> ipw2200: 174978 0x00000008      32
> ipw2200: 174989 0x0000001b      35
> ipw2200: 174993 0x0000001b      22
> ipw2200: 174999 0x801bb104      22
> ipw2200: 175019 0x0000001c      35
> ipw2200: 175023 0x0000001c      22
> ipw2200: 175029 0x801cb204      22
> ipw2200: 175049 0x00000021      35
> ipw2200: 175053 0x00000021      22
> ipw2200: 175059 0x8021b304      22
> ipw2200: 175079 0x00000021      35
> ipw2200: 175082 0x00000021      22
> ipw2200: 175089 0x8021b404      22
> ipw2200: 175109 0x00000019      35
> ipw2200: 175112 0x00000019      22
> ipw2200: 175118 0x8019b504      22
> ipw2200: 175139 0x0000001b      35
> ipw2200: 175142 0x0000001b      22
> ipw2200: 175148 0x801bb604      22
> ipw2200: 175168 0x0000001c      35
> ipw2200: 175172 0x0000001c      22
> ipw2200: 175178 0x801cb704      22
> ipw2200: 175198 0x00000021      35
> ipw2200: 175202 0x00000021      22
> ipw2200: 175208 0x8021b804      22
> ipw2200: 175228 0x00000021      35
> ipw2200: 175232 0x00000021      22
> ipw2200: 175238 0x8021b904      22
> ipw2200: 175258 0x00000019      35
> ipw2200: 175262 0x00000019      22
> ipw2200: 175268 0x8019ba04      22
> ipw2200: 175288 0x00000019      35
> ipw2200: 175292 0x00000019      22
> ipw2200: 175298 0x8019bb04      22
> ipw2200: 175318 0x00000019      35
> ipw2200: 175322 0x00000019      22
> ipw2200: 175328 0x8019bc04      22
> ipw2200: 175348 0x00000019      35
> ipw2200: 175351 0x00000019      22
> ipw2200: 175358 0x8019bd04      22
> ipw2200: 175894 0x00000032      9
> ipw2200: 175897 0x00000017      9
> ipw2200: 175900 0x000005c1      9
> ipw2200: 175929 0x00000001      99
> ipw2200: 175934 0x00000008      32
> ipw2200: 175945 0x00000021      35
> ipw2200: 175949 0x00000021      22
> ipw2200: 175955 0x8021be04      22
> ipw2200: 175973 0x00029994      99
> ipw2200: 175978 0x00000130      287
> ipw2200: 176088 0x00000008      32
> ipw2200: 176099 0x0000001c      35
> ipw2200: 176103 0x0000001c      22
> ipw2200: 176109 0x801cbf04      22
> ipw2200: 176129 0x00000021      35
> ipw2200: 176133 0x00000021      22
> ipw2200: 176139 0x8021c004      22
> ipw2200: 176159 0x00000021      35
> ipw2200: 176163 0x00000021      22
> ipw2200: 176169 0x8021c104      22
> ipw2200: 176189 0x00000019      35
> ipw2200: 176193 0x00000019      22
> ipw2200: 176199 0x8019c204      22
> ipw2200: 176219 0x00000019      35
> ipw2200: 176223 0x00000019      22
> ipw2200: 176229 0x8019c304      22
> ipw2200: 176249 0x0000001c      35
> ipw2200: 176252 0x0000001c      22
> ipw2200: 176259 0x801cc404      22
> ipw2200: Failed to send SCAN_ABORT: Command timed out.
> ipw2200: Failed to send CARD_DISABLE: Command timed out.
> ipw2200: Failed to send SCAN_ABORT: Command timed out.
> ipw2200: Failed to send CARD_DISABLE: Command timed out.
> ipw2200: Failed to send SCAN_ABORT: Command timed out.
> ipw2200: Failed to send CARD_DISABLE: Command timed out.
> ipw2200: Failed to send SCAN_ABORT: Command timed out.
> ipw2200: Failed to send CARD_DISABLE: Command timed out.
> ipw2200: Failed to send SCAN_ABORT: Command timed out.
> ipw2200: Failed to send CARD_DISABLE: Command timed out.
> ipw2200: Failed to send SCAN_REQUEST_EXT: Command timed out.
> 
> Thanks for your explanation.
> 
> Pascal FIFRE
> Responsable Systèmes Embarqués
> CLEODE
> 5, rue de Broglie
> 22300 LANNION
> Tel : 02 96 48 68 18
> http://www.cleode.com
> -----Message d'origine-----
> De : Cahill, Ben M [mailto:[email protected]] Envoyé : 
> lundi 13 novembre 2006 22:50 À : Pascal Fifre; 
> [email protected]
> Cc : Liu, Hong
> Objet : RE: [Ipw2100-devel] Failed to scan network with 2200BG
> 
> 
> > 
> > I expect to find a network on the 11th channel. I use another 
> > 2200BG on a PC under Windows that find a network on this Channel.
> 
> Thanks.
> 
> > 
> > In these traces, no NMI was transmitted, but sometimes it happens.
> > 
> > Another question: I use a PowerPC platform with a little 
> > endian bus on the PCI. Do I have a realignment of dma data?
> 
> I would guess that Linux infrastructure would do the right thing here,
> but that's not an area I'm really familiar with.  Since the 
> commands are
> issued to the 2200 via DMA, and the scan seems to be working (at least
> going through the motions successfully, as the driver sees it), I'd
> guess that DMA is working okay.
> 
> Could you try using debug=0x01043fff?  This adds the DEBUG_RX 
> output to
> the log.  It should show up something if you're receiving any 
> packets at
> all.
> 
> If you want to try some hacking to check the sanity of the 
> data, as the
> driver sees it, try adding an IPW_DEBUG_RX() or two within ipw_rx().
> ipw_rx() is the first function that starts figuring out what 
> to do with
> a frame notification from the 2200 hardware.  You should be able to
> examine the ieee80211 header there.  Within ipw_rx(), search for
> "ieee80211_hdr_4addr" and see how the "header" variable gets set up.
> Try IPW_DEBUG_RX for a few values within the ieee80211 header,
> preferably before ipw_rx() gets into parsing stuff (and 
> perhaps getting
> confused if data is swapped around!).  Don't confuse ieee80211 header
> (part of data payload) with the packet->header (added by 2200 firmware
> to tell driver what kind of info it's sending to driver, etc.).
> 
> For "extra credit", take a look at ipw_report_frame() in the ipw3945
> driver, and see if you could port that over to 2200.  I put
> ipw_report_frame() in the 3945 driver a while back, to help debug
> scanning issues there ... never got to put it into 2200.
> 
> BTW, if the AP signal is reasonably strong, you might receive packets
> when tuned to channels other than 11.  This is normal behavior for B/G
> band, because of channel overlap (20 MHz channel width, 5 MHz channel
> separation).
> 
> -- Ben --  
> 
> 
> > 
> > Thanks
> > 
> > Pascal FIFRE
> --------------------------------------------------------------
> --------------
> -----------
> Orange vous informe que cet  e-mail a ete controle par 
> l'anti-virus mail. 
> Aucun virus connu a ce jour par nos services n'a ete detecte.
> 
> 

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.