Search Linux Wireless

Re: BUG: b43: ssb init failed with pcmcia bus

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Aug 08, 2022 at 03:51:59PM +0000, Yatao Li wrote:
> On 7/4/22 14:55, Larry Finger wrote:
> >On 7/4/22 07:54, 尤晓杰 wrote:
> >> 
> >> I got 802.11b card debian sid(Linux debian 5.18.0-2-686-pae #1 SMP PREEMPT_DYNAMIC Debian 5.18.5-1 (2022-06-16) i686 GNU/Linux
> >> ) reconised it. But ssb could not be reconised
> >> dmesg:
> >> [ 1268.029113] pcmcia_socket pcmcia_socket0: pccard: PCMCIA card inserted into slot 0
> >> [ 1268.029646] pcmcia 0.0: pcmcia: registering new device pcmcia0.0 (IRQ: 21)
> >> [ 1268.117186] ssb: Failed to switch to core 0
> >> [ 1268.117225] ssb-pcmcia 0.0: Initialization failed (0, -16)
> >> [ 1268.117232] ssb-pcmcia: probe of 0.0 failed with error -16
> >> allan@debian:~$
> >
> >That combination of outputs and the -EBUSY (-16) error means that the driver was 
> >unable to read or write a configuration variable at SSB_PCMCIA_ADDRESSX, where X 
> >is 0, 1, or 2.
> >
> >There is a possibility that your card is broken. Please post the portion of the 
> >output of the command 'sudo lspci -nn -xxx' that describes the b43 device.
> >
> >Larry
> I'm encountering a similar issue. It's a Summit SDC-CF10G CompactFlash
> WiFi card. (http://url6924.yatao.info/ls/click?upn=ma0iYQYPVJ6oQbSqYo5zhoh-2BS-2F7coOnMI4oVTd5l-2FkvlfLQmfQTwoKyrvqxh-2Fa6hQCJzO-2Bk-2FfGFyGP2VHkAwNfcLj2Uf-2FkslGABFBIZsFzDiWpFjj73tFaRG7z4f8AzQyB-2FHvi-2FgvoL6pOJ-2Bj0Ibt35vlG-2FvzkI-2FnzzX2l38erhdl-2BcHVatpNK4kbxqoQkUEQtL4uV-2BonheissjTzTWwWO6vv9MJ-2BULOZHBke875iEWHGWYkxAugmix-2FDjUL5cyExLYeaX61mO-2BF0sj0J7N4IuVoegI9Pdts05ydxdTJ-2BRRKhjMzWEaRS0-2FhPWASeJTIqLTPvwBInxqZJrvnKNPfJoJymfrmPZ8wiRitFRQe76F-2B9ZYx8LGOgr2Fc6NndLGjGq-2BuTU60SYRjH3PjmIscozpD-2BgO7-2BTQ5WUTtXxrMo3UYcJuBNa55Fw2v8MfMpKS7Uc1pVpSGYSG-2BEeBc-2BJ-2FCt-2Fniq5sfak1R90l6kxpjL3v7fu1L-2Fedv0uN5tEUHLIuIYtTAMJ-2FVZscNLySCiTp5Ow-3D-3Dc3mA_6pwKHJ8Ph1XTyv7ONZlOBOinZyu77Ix3HWUiu18xV0J6a-2Fno9WCbgvjfhwwVXVJdL7p2b9BC0WAvGVOJxbD6-2FIi5t5W2Cb1NAb-2F3wo3hIj7fSUI6G8S0gYfDJ3DUri5FXlaoND6AMe38UJ-2B1vGBpdxByA5WoYAL4dqP1cc6hP-2F4jBwr5AmCkE5qGmyNLHVA1clpYkY3IdbHiLK90MowHjMtMnbw65qhZZSnFXcyaBOU-3D
> `pccardctl info` gives:
> ```
> PRODID_1="SummitDC"
> PRODID_2="802.11g SC CF"
> PRODID_3="4.0"
> PRODID_4=""
> MANFID=02d0,0448
> FUNCID=6
> ```
> MANFID matches lookup table in the code.
> The host is a Sharp SL-C3100 running Linux alarm 5.4.193, bridging from
> `pxa2xx-pcmcia`.
> 
> I did some simple manual tracing, and the problem happens early:
> ```
> ssb_host_pcmcia_probe (Initialization failed res=0,err=-EBUSY)
>   `->...(res=0)
>   `->ssb_bus_pcmciabus_register (err=-EBUSY)
>     `->ssb_bus_register
>       `->ssb_bus_scan
>         `->ssb_pcmcia_switch_coreidx (matching errmsg)
>           `->ssb_pcmcia_cfg_write (maybe)
>           `->ssb_pcmcia_cfg_read (maybe)
> ```
> 
> Any suggestions?
> 
> Thanks,
> Yatao
Quick update:
`echo -n 'file cistpl.c +p' > <debug_fs>/dynamic_debug/control`, then
`dmesg`. This kernel is configured with very small kmsg buffer... I
could only capture the last portion of the commands:

```
pcmcia_read_cis_mem(1, 0xe3, 2)
  0x80 0x09 0x00 0x00 ...
pcmcia_read_cis_mem(1, 0xee, 2)
  0xff 0xff 0x00 0x00 ...
pcmcia_read_cis_mem(0, 0x0, 5)
  0x00 0x00 0x00 0x00 ...
pcmcia_read_cis_mem(0, 0x0, 5)
  0x00 0x00 0x00 0x00 ...
pcmcia 0.0: pcmcia: registering new device pcmcia0.0 (IRQ: 217)
pcmcia_read_cis_mem(1, 0x4d, 2)
  0x06 0x00 0x48 0x04 // is that FUNCID and MANUFID?
pcmcia_read_cis_mem(1, 0x12, 30)
  0x08 0x00 0x53 0x75 ...
pcmcia_read_cis_mem(1, 0xb1, 5)
  0x01 0x01 0x00 0x07 ...
pcmcia_write_cis_mem(1, 0x383, 1)
pcmcia_write_cis_mem(1, 0x380, 1)
<systemd-journald warning that /dev/kmsg is overrun...>
pcmcia_write_cis_mem(1, 0x381, 1)
pcmcia_write_cis_mem(1, 0x397, 1)
pcmcia_write_cis_mem(1, 0x398, 1)
pcmcia_write_cis_mem(1, 0x399, 1)
pcmcia_read_cis_mem(1, 0x397, 1)
!! attempt to read CIS mem at addr 0x397 (CISTPL_MAX_CIS_SIZE is 0x200)
  return -1;
```

Not knowing what's what here, at least I see there's some inconsistency.
- write is okay but read fails on bound check
- the ssb offsets are u8 and values like 0x397 are (pcmcia base + offset), 
  but the bound check is not aware of the base address, right?



[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux