OpenSolaris

Discussions Communities Projects Download Source Browser

Home » OpenSolaris Forums » laptop » discuss

Thread: I/O error Intel 3945 wifi driver

Welcome, Guest Help
Login Login
Guest Settings Guest Settings
Reply to this Thread Reply to this Thread Search Forum Search Forum Back to Thread List Back to Thread List

Permlink Replies: 10 - Last Post: Jun 4, 2007 4:20 PM by: brian.xu
olibert

Posts: 16
From:

Registered: 3/5/07
I/O error Intel 3945 wifi driver
Posted: May 24, 2007 11:14 AM
To: Communities » laptop » discuss
  Click to reply to this thread Reply

Brian,

thanks a lot for providing a WiFi driver for Intel 3945. Unfortunately I get
the following error message by attempts to plumb wpi0 on my Toshiba P105 laptop :

# ifconfig wpi0 plumb
ifconfig: plumb: wpi0: I/O error

The device works fine on the Linux partition of this laptop and shows there up as 8086:4222. I attached the output of dmesg, prtconf -v and driver_aliases as files.



Thanks a lot in advance,



Oliver

olibert

Posts: 16
From:

Registered: 3/5/07
I/O error Intel 3945 wifi driver
Posted: May 24, 2007 2:03 PM   in response to: olibert
To: Communities » laptop » discuss
  Click to reply to this thread Reply

Oops, forgot an important information: Laptop is installed with Solaris 10 HW 11/06. Thanks in advance.

brian.xu

Posts: 219
From:

Registered: 10/27/05
Re: I/O error Intel 3945 wifi driver
Posted: May 25, 2007 2:44 AM   in response to: olibert

  Click to reply to this thread Reply

Oliver Ebert 写道:
> Brian,
>
> thanks a lot for providing a WiFi driver for Intel 3945. Unfortunately I get
> the following error message by attempts to plumb wpi0 on my Toshiba P105 laptop :
>
> # ifconfig wpi0 plumb
> ifconfig: plumb: wpi0: I/O error
>
> The device works fine on the Linux partition of this laptop and shows there up as 8086:4222. I attached the output of dmesg, prtconf -v and driver_aliases as files.
>
The attached files show the card is 3945 and attached to wpi driver.
While for some reason, the eeprom are read out as all 0xff. I need more
investigation and let you know if I find it out.

Thanks,
Brian
>
>
> Thanks a lot in advance,
>
>
>
> Oliver
>
>
> This message posted from opensolaris.org
> ------------------------------------------------------------------------
>
> _______________________________________________
> laptop-discuss mailing list
> laptop-discuss at opensolaris dot org

_______________________________________________
laptop-discuss mailing list
laptop-discuss at opensolaris dot org



olibert

Posts: 16
From:

Registered: 3/5/07
Re: I/O error Intel 3945 wifi driver
Posted: May 25, 2007 9:30 AM   in response to: brian.xu
To: Communities » laptop » discuss
  Click to reply to this thread Reply

> The attached files show the card is 3945 and attached
> to wpi driver.
> While for some reason, the eeprom are read out as all
> 0xff. I need more
> investigation and let you know if I find it out.
>
> Thanks,
> Brian

Brian,

I noticed the 0xFF eeprom read out, too. It seems that one of the guys who replied in the thread "Here is the Intel 3945 wifi driver" has the same issue according his dmesg output.

Please let me know if you need more data or testing.


Thanks,


Oliver

brian.xu

Posts: 219
From:

Registered: 10/27/05
Re: Re: I/O error Intel 3945 wifi driver
Posted: May 28, 2007 3:54 AM   in response to: olibert

  Click to reply to this thread Reply

Oliver Ebert 写道:
>> The attached files show the card is 3945 and attached
>> to wpi driver.
>> While for some reason, the eeprom are read out as all
>> 0xff. I need more
>> investigation and let you know if I find it out.
>>
>> Thanks,
>> Brian
>>
>
> Brian,
>
> I noticed the 0xFF eeprom read out, too. It seems that one of the guys who replied in the thread "Here is the Intel 3945 wifi driver" has the same issue according his dmesg output.
>
> Please let me know if you need more data or testing.
>
Hi, Oliver

Today I find a Fujistu laptop with the same symptom and finally root
cause this issue. It should be a known boot bug of solaris, see:
http://bugs.opensolaris.org/view_bug.do?bug_id=6419924

Because of the incorrect configuration of the pcie-pci bridge, the
memory operation can not be forwarded by the bridge, so all I/O(memory
mapped I/O) operations on 3945 fail, so that all the registers on 3945
are read out as 0xFF.

I have made that Fujistu work by manually modifying the config space
registers of the pcie-pci bridge behind which the 3945 chipset resides,
but this modification doesn't work for your laptop due to motherboard
difference. So pls send me the '/usr/X11/bin/scanpci -v', then I will
try to work out a scipt for you to make your wifi work.

Thanks,
Brian
>
> Thanks,
>
>
> Oliver
>
>
> This message posted from opensolaris.org
> _______________________________________________
> laptop-discuss mailing list
> laptop-discuss at opensolaris dot org
>

_______________________________________________
laptop-discuss mailing list
laptop-discuss at opensolaris dot org



olibert

Posts: 16
From:

Registered: 3/5/07
Re: Re: I/O error Intel 3945 wifi driver
Posted: May 30, 2007 10:10 PM   in response to: brian.xu
To: Communities » laptop » discuss
  Click to reply to this thread Reply

Brian,

thanks a lot for your efforts. I pasted in the scanpci -v output as
it didn't allow to attach it as a file.


Thanks again,



Oliver




8<---8<---8<---8<---8<---8<---8<---8<---8<---8< ---8<---8<---

pci bus 0x0000 cardnum 0x00 function 0x00: vendor 0x8086 device 0x27a0
Intel Corporation Mobile Memory Controller Hub
CardVendor 0x1179 card 0xff31 (Toshiba America Info Systems, Card unknown)
STATUS 0x3090 COMMAND 0x0006
CLASS 0x06 0x00 0x00 REVISION 0x03
BIST 0x00 HEADER 0x00 LATENCY 0x00 CACHE 0x00
BYTE_0 0x01 BYTE_1 0x90 BYTE_2 0xd1 BYTE_3 0xfe

pci bus 0x0000 cardnum 0x02 function 0x00: vendor 0x8086 device 0x27a2
Intel Corporation Mobile Integrated Graphics Controller
CardVendor 0x1179 card 0xff31 (Toshiba America Info Systems, Card unknown)
STATUS 0x0090 COMMAND 0x0007
CLASS 0x03 0x00 0x00 REVISION 0x03
BIST 0x00 HEADER 0x80 LATENCY 0x00 CACHE 0x00
BASE0 0xd0200000 addr 0xd0200000 MEM
BASE1 0x00001801 addr 0x00001800 I/O

brian.xu

Posts: 219
From:

Registered: 10/27/05
Re: Re: Re: I/O error Intel 3945 wifi driver
Posted: May 31, 2007 4:12 AM   in response to: olibert

  Click to reply to this thread Reply

Oliver Ebert 写道:
> Brian,
>
> thanks a lot for your efforts. I pasted in the scanpci -v output as
> it didn't allow to attach it as a file.
>
>
Since the bug is in boot, what I instruct you here is just a workround.
This workaround operates directly on the pcie-pci bridge hardware, so it
may reset your machine if operating incorrectly, but I think there
should not have other damages.

I don't know whether 'pcitool' is available in s10u(check with ls
/usr/bin/pcitool), if so, you can do like this:
#rem_drv wpi
#pcitool /pci@0,0 -d bdf=0.1c.1,config -o 0x20 -s 4 -w 0xd010d010
#pcitool /pci@0,0 -d bdf=0.1c.1,config -o 4 -s 1 -w 0x46
#add_drv -i '"pciex8086,4222"' wpi
#ifconfig wpi0 plumb

If pcitool is not available, then it is a bit complex, you can use kmdb
with command line login as an alternative,
#mdb -KF
>20::wrpcicfg 0 1c 1 d010d010
>4::rdpcicfg 0 1c 1
100044 -----the output here may be this value
>4::wrpcicfg 0 1c 1 100046 ---make sure the last byte is 46, leaving
other bytes as is.
if wrpcicfg and rdpcicfg are not available, you can us,
>*pci_putl_func::call 0 1c 1 20 d010d010
>*pci_putb_func::call 0 1c 1 4 46
>:c

The main purpose here is to enable the memory forward function in
pcie-pci bridge, for your laptop, write 0xd010d010 in config space
0x20-0x23, write 0x46 in config space 0x4. The <bus id,device
id,function id> of the bridge is <0,1c,1>.

Note:
1. the d010d010 is what I count according to your 'prtconf -v', the
value just work for this laptop.
2. the wpi driver must *not* attach *before* the pcie-pci bridge is
hacked.

Any questions, pls let me know.

--Brian
> Thanks again,
>
>
>
> Oliver
>
>
>
>
> 8<---8<---8<---8<---8<---8<---8<---8<---8<---8<-- -8<---8<---
>
>
> pci bus 0x0000 cardnum 0x1c function 0x01: vendor 0x8086 device 0x27d2
> Intel Corporation 82801G (ICH7 Family) PCI Express Port 2
> STATUS 0x0010 COMMAND 0x0044
> CLASS 0x06 0x04 0x00 REVISION 0x02
> HEADER 0x81 LATENCY 0x00
> PRIBUS 0x00 SECBUS 0x03 SUBBUS 0x03
> SECLT 0x00 SECSTATUS 0x2000
> PREFETCH_MEMBASE 0x0000000000000000 MEMLIM 0x00000000000fffff
>

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^not initialized.
> NO_FAST_B2B NO_SEC_BUS_RST NO_M_ABRT NO_VGA_EN ISA_EN NO_SERR_EN PERR_EN
>
> ......
>
> pci bus 0x0003 cardnum 0x00 function 0x00: vendor 0x8086 device 0x4222
> Intel Corporation Device unknown
> CardVendor 0x8086 card 0x1040 (Card unknown)
> STATUS 0x0010 COMMAND 0x0046
> CLASS 0x02 0x80 0x00 REVISION 0x02
> BIST 0x00 HEADER 0x00 LATENCY 0x00 CACHE 0x10
> MAX_LAT 0x00 MIN_GNT 0x00 INT_PIN 0x01 INT_LINE 0x0b
>
>
> 8<---8<---8<---8<---8<---8<---8<---8<---8<---8<-- -8<---8<---
>
>
> This message posted from opensolaris.org
> _______________________________________________
> laptop-discuss mailing list
> laptop-discuss at opensolaris dot org
>

_______________________________________________
laptop-discuss mailing list
laptop-discuss at opensolaris dot org



olibert

Posts: 16
From:

Registered: 3/5/07
Re: Re: Re: I/O error Intel 3945 wifi driver
Posted: May 31, 2007 7:53 PM   in response to: brian.xu
To: Communities » laptop » discuss
  Click to reply to this thread Reply

Brian,

it seems that pcitool isn't available in HW 10/06. So I applied the workaround with
the debugger in the console..

#mdb -KF
>20::wrpcicfg 0 1c 1 d010d010
>4::rdpcicfg 0 1c 1
100044 -----the output here may be this value
>4::wrpcicfg 0 1c 1 100046
>::c

..and tried after that to plumb wpi0. Unfortunately I still get the this warning..
wpi: WARNING: wpi_init(): timeout waiting for firmware init
..and the I/O error.

To make sure that nothing went wrong with the debugger session I went back
to the debugger and checked the value again..

>4::rdpcicfg 0 1c 1

..and got back 100046. So it seems to be fine from the debugger side.


Thanks,



Oliver

brian.xu

Posts: 219
From:

Registered: 10/27/05
Re: Re: Re: Re: I/O error Intel 3945 wifi driver
Posted: May 31, 2007 8:53 PM   in response to: olibert

  Click to reply to this thread Reply

Oliver Ebert 写道:
> Brian,
>
> it seems that pcitool isn't available in HW 10/06. So I applied the workaround with
> the debugger in the console..
>
> #mdb -KF
>
>> 20::wrpcicfg 0 1c 1 d010d010
>> 4::rdpcicfg 0 1c 1
>>
> 100044 -----the output here may be this value
>
>> 4::wrpcicfg 0 1c 1 100046
>> ::c
>>
>
> ..and tried after that to plumb wpi0. Unfortunately I still get the this warning..
> wpi: WARNING: wpi_init(): timeout waiting for firmware init
> ..and the I/O error.
>
> To make sure that nothing went wrong with the debugger session I went back
> to the debugger and checked the value again..
>
>
>> 4::rdpcicfg 0 1c 1
>>
>
> ..and got back 100046. So it seems to be fine from the debugger side.
>
1.Make sure d010d010 is written into:
>20::rdpcicfg 0 1c 1

2.Verify the value in 3945 card config space bar0 is d0100000:
>10::rdpcicfg 3 0 0

3.Make sure the wpi driver is modunload before write values on pcie-pci
bridge.
you can:
#rem_drv wpi
#hack the pcie-pci bridge
#add_drv -i '"pciex8086,4222"' wpi

Thanks,
Brian
>
> Thanks,
>
>
>
> Oliver
>
>
> This message posted from opensolaris.org
> _______________________________________________
> laptop-discuss mailing list
> laptop-discuss at opensolaris dot org
>

_______________________________________________
laptop-discuss mailing list
laptop-discuss at opensolaris dot org



olibert

Posts: 16
From:

Registered: 3/5/07
Re: Re: Re: Re: I/O error Intel 3945 wifi driver
Posted: Jun 4, 2007 7:23 AM   in response to: brian.xu
To: Communities » laptop » discuss
  Click to reply to this thread Reply

> 2.Verify the value in 3945 card config space bar0 is
> d0100000:
> >10::rdpcicfg 3 0 0

Brian,

"10::rdpcicfg 3 0 0" gave me back 0. So I wrote d0100000 to the 3945 card config via wrpcicfg and plumbing of wpi0 just worked fine.

There are some issues with wificonfig I have to check out but otherwise I should
be set from the driver side.

So the next step for me would be to check if pcitool can be backported to HW 10/06 to get this workaround in a script or just to wait for a fix for bug 6419924.

Anyway, thanks a lot for your help,




Oliver

brian.xu

Posts: 219
From:

Registered: 10/27/05
Re: Re: Re: Re: Re: I/O error Intel 3945 wifi driver
Posted: Jun 4, 2007 4:20 PM   in response to: olibert

  Click to reply to this thread Reply

Oliver Ebert wrote:
>> 2.Verify the value in 3945 card config space bar0 is
>> d0100000:
>> >10::rdpcicfg 3 0 0
>>
>
> Brian,
>
> "10::rdpcicfg 3 0 0" gave me back 0. So I wrote d0100000 to the 3945 card config via wrpcicfg and plumbing of wpi0 just worked fine.
>
Cool!!!

If you think I may help in the future, feel free to tell me.

--Brian
> There are some issues with wificonfig I have to check out but otherwise I should
> be set from the driver side.
>
> So the next step for me would be to check if pcitool can be backported to HW 10/06 to get this workaround in a script or just to wait for a fix for bug 6419924.
>
> Anyway, thanks a lot for your help,
>
>
>
>
> Oliver
>
>
> This message posted from opensolaris.org
> _______________________________________________
> laptop-discuss mailing list
> laptop-discuss at opensolaris dot org
>

_______________________________________________
laptop-discuss mailing list
laptop-discuss at opensolaris dot org






Terms of Use | Privacy | Trademarks | Copyright Policy | Site Guidelines
Your use of this web site or any of its content or software indicates your agreement to be bound by these Terms of Use.
Copyright © 1995-2005 Sun Microsystems, Inc.