Subject: Re: Thinkpad T60 mostly works - trouble with wm(4)
To: NetBSD/i386 Port <port-i386@NetBSD.org>
From: Holger Weiss <lists@jhweiss.de>
List: port-i386
Date: 01/08/2007 23:36:09
* Greg Troxel <gdt@ir.bbn.com> [2006-08-22 15:57]:
> executive summary: T60 mostly works, and I need help with wm(4) which
> won't read eeprom.

I installed 4.99.7 on my T60 (2007-VJS) a few days ago.  Most of the
issues you mentioned seem to be fixed by now or don't show up on my
system for some other reason.  However, my T60 was shipped with wpi(4)
instead of ath(4), which gives me some additional trouble (see below).
If I try to use an Orinoco 11b PCMCIA card instead, I run into the
problem described in kern/32328 (while ex(4) at cardbus(4) works fine).
Using RBUS_IO_BASE=0xa00 and RBUS_IO_SIZE=0x0ff as suggested by Michael
in the most recent comment to the PR doesn't fix the problem for me.

> I set the builtin SATA controller to compatibility mode in the BIOS;
> NetBSD did not find the "AHCI" SATA version.

This wasn't necessary for me.

> "X -configure;<mv config file in place>;xinit" works, but on exiting
> the text consoles are messed up (large font, only part of the screen
> is showing).

I haven't seen this problem, my text consoles are fine after exiting X.
Using the ATI driver, switching to a text console using 'Ctrl-Alt-F<n>'
won't work, though.  The system simply switches back to the VT running X
after a second or two.  Using VESA, switching back and forth between the
text consoles and X works fine.

> they have a binary ATI driver working

Apart from the issue mentioned above it works fine for me, too.  Thanks
a lot, Brian!

> I disabled the trackpad in the bios and the trackpoint and 3 buttons
> work fine.

Same here.

> The big problem is wm0.

I only tried it within my private 100 Mbit LAN and haven't used it much
so far, but I don't see the errors you got and it seems to work fine on
my machine.  I had to set "media 100baseTX" manually as no data is
transmitted when using "media autoselect" (despite the ifconfig(1)
output being correct).  However, I just stumbled over a more recent
thread[*] where you state something similar.

> The cbb0 errors below are mysterious.

I got rid of those by using:

	options PCI_ADDR_FIXUP
	options PCI_BUS_FIXUP

> I haven't played with audio, bluetooth

azalia(4) seems to work fine for me.  Switching on bluetooth gives me:

| ubt0 at uhub3 port 1 configuration 1 interface 0
| ubt0: Broadcom Corp BCM2045B, rev 2.00/1.00, addr 3

However, I haven't tried actually using it.

wpi(4) behaves mysteriously.  I downloaded and installed the firmware
file as documented in the man page.  Now, if I (re)boot NetBSD a few
times, I get two different results: wpi(4) sometimes works and sometimes
doesn't.  In both cases, wpi0 is detected correctly.  Then,

1) I either get the following messages:

   	wpi0: could not read EEPROM
   	wpi0: could not read EEPROM
   	wpi0: could not read EEPROM
   	wpi0: fatal firmware error
   	wpi0: timeout waiting for adapter to initialize

However, in this case, wpi0 works just fine.  Instead of the last two
lines, I sometimes get the following three, but with the same result:

   	wpi0: timeout transferring firmware
   	wpi0: could not load firmware
   	wpi0: fatal firmware error

2) Or, I get output such as the following:

   	wpi0: fatal firmware error
   	wpi0: configure command failed
   	wpi0: could not configure device
   	wpi0: could not read EEPROM
   	wpi0: could not lock memory
   	wpi0: could not read EEPROM
   	wpi0: could not lock memory
   	wpi0: could not lock memory
   	wpi0: could not lock memory
   	wpi0: could not lock memory
   	wpi0: could not lock memory
   	wpi0: timeout transferring firmware
   	wpi0: could not load firmware
   	wpi0: could not lock memory
   	wpi0: could not lock memory
   	wpi0: could not lock memory
   	wpi0: could not lock memory
   	wpi0: could not lock memory
   	wpi0: could not lock memory
   	wpi0: could not lock memory
   	wpi0: could not lock memory
   	wpi0: could not lock memory
   	wpi0: timeout waiting for master
   	wpi0: fatal firmware error
   	wpi0: could not lock memory
   	wpi0: could not lock memory
   	wpi0: could not lock memory
   	wpi0: could not lock memory
   	wpi0: could not lock memory
   	wpi0: could not lock memory
   	wpi0: could not lock memory
   	wpi0: could not lock memory
   	wpi0: could not lock memory
   	wpi0: timeout waiting for clock stabilization
   	wpi0: could not lock memory
   	wpi0: could not lock memory
   	wpi0: timeout waiting for NIC to power up
   	wpi0: could not lock memory
   	wpi0: could not read EEPROM
   	wpi0: could not lock memory
   	wpi0: could not read EEPROM
   	wpi0: could not lock memory
   	wpi0: could not read EEPROM
   	wpi0: could not lock memory
   	wpi0: could not lock memory
   	wpi0: could not lock memory
   	wpi0: could not lock memory
   	wpi0: timeout transferring firmware
   	wpi0: could not load firmware
   	wpi0: could not lock memory
   	# ...

In this case, wpi0 won't find any networks.  If I need wpi(1), I reboot
until I run into the first case.

I haven't played with SpeedStep or ACPI stuff so far.  My kernel and X
configuration as well as my dmesg(s) are at:

	ftp://ftp.in-berlin.de/pub/users/weiss/netbsd/t60/

Holger

[*] http://thread.gmane.org/gmane.os.netbsd.ports.i386/10856

-- 
PGP fingerprint:  F1F0 9071 8084 A426 DD59  9839 59D3 F3A1 B8B5 D3DE