Acer Aspire AS5672 and FreeBSD

Specifications for the Acer Aspire AS5672WLMi (from Wikipedia).

Specifics of my model:

  • T2250 CPU
  • ATI Radeon X1600 gfx
  • 3 GB RAM.

See also main page.

This machine is tested with the i386 version of FreeBSD.

BIOS version is v1.3239 (Release date: 01/12/07). Previous BIOS version was v1.3234 (Release date: 08/09/06). This laptop came with BIOS v1.3230 installed, when I got it, the only BIOS available on Acer's web was v1.3224 (3224.zip).

acpidump's: from bios v1.3230, from bios v1.3234, from bios v1.3239,

The internal sata hard drive is sliced up as follows:

slice 1 - 30 GB - Windows XP Home
slice 2 - 70 GB - a FreeBSD install, currently FreeBSD 11.2-release (was: RELENG_8)
slice 3 - 60 GB - Xubuntu
slice 4 - 72 GB - a FreeBSD install, currently FreeBSD 9.1-release

as gpart sees it

root@kg-home# gpart show -p ada0
=>       63  488397105    ada0  MBR  (232G)
         63   62910477  ada0s1  !12  [active]  (30G)
   62910540  146785905  ada0s2  freebsd  (70G)
  209696445  125001765  ada0s3  ebr  (59G)
  334698210  153092079  ada0s4  freebsd  (73G)
  487790289     606879          - free -  (296M)

boot menu: F12

Work log so far

2018-11-25: ada0s2a - I installed FreeBSD 11.2-release. dmesg output: normal, verbose.

$ uname -a
FreeBSD kg-home.kg4.no 11.2-RELEASE FreeBSD 11.2-RELEASE #0 r335510: Fri Jun 22 04:09:26 UTC 2018     root@releng2.nyi.freebsd.org:/usr/obj/usr/src/sys/GENERIC  i386

fixing dhclient.conf

root@kg-home:~ # cat /etc/dhclient.conf
# $FreeBSD: releng/11.2/etc/dhclient.conf 85575 2001-10-27 03:14:37Z rwatson $
#
#    This file is required by the ISC DHCP client.
#    See ``man 5 dhclient.conf'' for details.
#
#    In most cases an empty file is sufficient for most people as the
#    defaults are usually fine.
#
send dhcp-client-identifier "kg-home.kg4.no";

and /etc/rc.conf looks like this:

root@kg-home:~ # cat /etc/rc.conf
hostname="kg-home.kg4.no"
keymap="no.kbd"
wlans_wpi0="wlan0"
ifconfig_wlan0="WPA DHCP"
create_args_wlan0="country NO"
sshd_enable="YES"
ntpd_enable="YES"
# Set dumpdev to "AUTO" to enable crash dumps, "NO" to disable
dumpdev="AUTO"

good.

2018-11-25: ada0s4a - I booted the machine by entering the bootloader and doing

set currdev=disk0s4a
boot-conf

the machine still runs FreeBSD 9.1-release:

root@kg-home# uname -a
FreeBSD kg-home.kg4.no 9.1-RELEASE FreeBSD 9.1-RELEASE #0 r243826: Tue Dec  4 06:55:39 UTC 2012     root@obrian.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC  i386

I should get stuff I need, and then upgrade the machine. Ok, not much to keep here. File /etc/rc.conf:

hostname="kg-home.kg4.no"
keymap="norwegian.iso.kbd"
wlans_wpi0="wlan0"
ifconfig_wlan0="WPA DHCP"
sshd_enable="YES"
moused_enable="YES"
ntpd_enable="YES"
# Set dumpdev to "AUTO" to enable crash dumps, "NO" to disable
dumpdev="AUTO"
contents of /boot/loader.conf:
root@kg-home# more /boot/loader.conf
coretemp_load="YES"

2018-11-25: ada0s2a - the machine wouldn't boot per default, it panicked after loading the wpi module. Loading it in safe mode worked, but then the wireless (wpi0 / wlan0) didn't work. The machine runs FreeBSD 8.2-stable from 2011, according to /var/log/messages:

Nov 25 21:55:22 kg-home kernel: FreeBSD 8.2-STABLE #1: Tue Jul 26 22:57:22 CEST 2011
Nov 25 21:55:22 kg-home kernel: root@kg-home.kg4.no:/usr/obj/usr/src/sys/AS5672 i386

ok. File /etc/rc.conf:

# -- sysinstall generated deltas -- # Sat Dec 12 15:16:09 2009
# Created: Sat Dec 12 15:16:09 2009
# Enable network daemons for user convenience.
# Please make all changes to this file, not to /etc/defaults/rc.conf.
# This file now contains just the overrides from /etc/defaults/rc.conf.
font8x14="iso-8x14"
font8x16="iso-8x16"
font8x8="iso-8x8"
keymap="norwegian.iso"
moused_enable="YES"
saver="blank"
sshd_enable="YES"
hostname="kg-home.kg4.no"
## ifconfig_bge0="DHCP"
## ifconfig_wpi0="WPA DHCP"
wlans_wpi0="wlan0"
ifconfig_wlan0="WPA DHCP"
# enable rules in /etc/devfs.rules
devfs_system_ruleset="devfsrules_local"
# ntp
ntpd_enable="YES"
ntpd_sync_on_start="YES"
# dbus
dbus_enable="YES"

ok. And contents of /boot/loader.conf:

root@kg-home# more /mnt/boot/loader.conf
#hint.acpi.0.disabled="1"
legal.intel_wpi.license_ack=1
ichsmb_load="YES"
coretemp_load="YES"
snd_hda_load="YES"
if_wpi_load="YES"

ok

2013-01-08: slice 4 - swap was missing. I added this line to /etc/fstab:

/dev/ada0s2b    none            swap    sw      0       0

then I ran swapon -a:

root@kg-home# swapon -a
swapon: adding /dev/ada0s2b as swap device

swapinfo now reports:

root@kg-home# swapinfo -h
Device          1K-blocks     Used    Avail Capacity
/dev/ada0s2b      4157384       0B       4G     0%

2013-01-08: slice 4 - I started the coretemp module at boot, like this:

root@kg-home# more /boot/loader.conf
coretemp_load="YES"

So I can get temperature readings:

root@kg-home# sysctl dev.cpu.0.temperature;sysctl dev.cpu.1.temperature
dev.cpu.0.temperature: 56.0C
dev.cpu.1.temperature: 56.0C

I have an alias for that:

root@kg-home# temp
dev.cpu.0.temperature: 56.0C
dev.cpu.1.temperature: 56.0C

2013-01-08: slice 4 - memory, here is what dmidecode (about memory) reports before memory upgrade:

Handle 0x0010, DMI type 16, 15 bytes
Physical Memory Array
        Location: System Board Or Motherboard
        Use: System Memory
        Error Correction Type: None
        Maximum Capacity: 4 GB
        Error Information Handle: Not Provided
        Number Of Devices: 2

Handle 0x0011, DMI type 17, 27 bytes
Memory Device
        Array Handle: 0x0010
        Error Information Handle: No Error
        Total Width: 32 bits
        Data Width: 32 bits
        Size: 1024 MB
        Form Factor: SODIMM
        Set: 1
        Locator: M1
        Bank Locator: Bank 0
        Type: DDR2
        Type Detail: Synchronous
        Speed: Unknown
        Manufacturer: Not Specified
        Serial Number: Not Specified
        Asset Tag: Not Specified
        Part Number: Not Specified

Handle 0x0012, DMI type 17, 27 bytes
Memory Device
        Array Handle: 0x0010
        Error Information Handle: No Error
        Total Width: 32 bits
        Data Width: 32 bits
        Size: 1024 MB
        Form Factor: SODIMM
        Set: 1
        Locator: M2
        Bank Locator: Bank 1
        Type: DDR2
        Type Detail: Synchronous
        Speed: Unknown
        Manufacturer: Not Specified
        Serial Number: Not Specified
        Asset Tag: Not Specified
        Part Number: Not Specified

Handle 0x0013, DMI type 19, 15 bytes
Memory Array Mapped Address
        Starting Address: 0x00000000000
        Ending Address: 0x0007FFFFFFF
        Range Size: 2 GB
        Physical Array Handle: 0x0010
        Partition Width: 2

Handle 0x0014, DMI type 20, 19 bytes
Memory Device Mapped Address
        Starting Address: 0x00000000000
        Ending Address: 0x0003FFFFFFF
        Range Size: 1 GB
        Physical Device Handle: 0x0011
        Memory Array Mapped Address Handle: 0x0013
        Partition Row Position: Unknown
        Interleave Position: Unknown
        Interleaved Data Depth: Unknown

Handle 0x0015, DMI type 20, 19 bytes
Memory Device Mapped Address
        Starting Address: 0x00040000000
        Ending Address: 0x0007FFFFFFF
        Range Size: 1 GB
        Physical Device Handle: 0x0012
        Memory Array Mapped Address Handle: 0x0013
        Partition Row Position: Unknown
        Interleave Position: Unknown
        Interleaved Data Depth: Unknown

and after the upgrade (2 -> 3 GB) I get this:

Handle 0x0010, DMI type 16, 15 bytes
Physical Memory Array
        Location: System Board Or Motherboard
        Use: System Memory
        Error Correction Type: None
        Maximum Capacity: 4 GB
        Error Information Handle: Not Provided
        Number Of Devices: 2

Handle 0x0011, DMI type 17, 27 bytes
Memory Device
        Array Handle: 0x0010
        Error Information Handle: No Error
        Total Width: 32 bits
        Data Width: 32 bits
        Size: 1024 MB
        Form Factor: SODIMM
        Set: 1
        Locator: M1
        Bank Locator: Bank 0
        Type: DDR2
        Type Detail: Synchronous
        Speed: Unknown
        Manufacturer: Not Specified
        Serial Number: Not Specified
        Asset Tag: Not Specified
        Part Number: Not Specified

Handle 0x0012, DMI type 17, 27 bytes
Memory Device
        Array Handle: 0x0010
        Error Information Handle: No Error
        Total Width: 32 bits
        Data Width: 32 bits
        Size: 2048 MB
        Form Factor: SODIMM
        Set: 1
        Locator: M2
        Bank Locator: Bank 1
        Type: DDR2
        Type Detail: Synchronous
        Speed: Unknown
        Manufacturer: Not Specified
        Serial Number: Not Specified
        Asset Tag: Not Specified
        Part Number: Not Specified

Handle 0x0013, DMI type 19, 15 bytes
Memory Array Mapped Address
        Starting Address: 0x00000000000
        Ending Address: 0x000BFFFFFFF
        Range Size: 3 GB
        Physical Array Handle: 0x0010
        Partition Width: 2

Handle 0x0014, DMI type 20, 19 bytes
Memory Device Mapped Address
        Starting Address: 0x00000000000
        Ending Address: 0x0003FFFFFFF
        Range Size: 1 GB
        Physical Device Handle: 0x0011
        Memory Array Mapped Address Handle: 0x0013
        Partition Row Position: Unknown
        Interleave Position: Unknown
        Interleaved Data Depth: Unknown

Handle 0x0015, DMI type 20, 19 bytes
Memory Device Mapped Address
        Starting Address: 0x00040000000
        Ending Address: 0x000BFFFFFFF
        Range Size: 2 GB
        Physical Device Handle: 0x0012
        Memory Array Mapped Address Handle: 0x0013
        Partition Row Position: Unknown
        Interleave Position: Unknown
        Interleaved Data Depth: Unknown

and dmesg reports:

root@kg-home# dmesg | grep memory
real memory  = 3221225472 (3072 MB)
avail memory = 3139649536 (2994 MB)

before the upgrade it was:

real memory  = 2147483648 (2048 MB)
avail memory = 2084847616 (1988 MB)

a nice gain.

2013-01-06: slice 4 - Finally, FreeBSD 9.1-release installed. dmesg output: normal, verbose.

$ uname -a
FreeBSD kg-home 9.1-RELEASE FreeBSD 9.1-RELEASE #0 r243826: Tue Dec  4 06:55:39 UTC 2012     root@obrian.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC  i386

Time for some configuration.

root@kg-home:/root # mount /dev/ada0s2a /mnt

Fix static ip via dhcp by adding the line below to /etc/dchlient.conf:

send dhcp-client-identifier "kg-home.kg4.no";

get the correct ssh keys back:

root@kg-home:/root # cd /etc/ssh
root@kg-home:/etc/ssh # mkdir ./org
root@kg-home:/etc/ssh # mv *key* ./org
root@kg-home:/etc/ssh # cp -pv /mnt/etc/ssh/*key* .
/mnt/etc/ssh/ssh_host_rsa_key.pub -> ./ssh_host_rsa_key.pub
/mnt/etc/ssh/ssh_host_rsa_key -> ./ssh_host_rsa_key
/mnt/etc/ssh/ssh_host_key.pub -> ./ssh_host_key.pub
/mnt/etc/ssh/ssh_host_key -> ./ssh_host_key
/mnt/etc/ssh/ssh_host_dsa_key.pub -> ./ssh_host_dsa_key.pub
/mnt/etc/ssh/ssh_host_dsa_key -> ./ssh_host_dsa_key

done.

2013-01-06: slice 4 - I installed from the usb stick. I had to do a manual partitioning, since the installer refused to use the existing swap partition on ad0s2b, instead it decided to create its own. The install even set up my wireless network - nice! After the install finished, I dropped into a shell and used gpart show ada0, and as I was suspecting, the installer had set slice 4 active, which is not what I want. a gpart set -a active -i 1 ada0 fixed that. After reboot, the machine only booted into slice 2, perhaps I need to copy /boot/boot0 to the XP partiton. Funny, that didn't work: it just shows "#" characters and refuses to boot. Manually entering the boot prompt, unload kernel, set currdev=disk0s4a:, load kernel, boot works.

2013-01-06: I decided to install FreeBSD 9.1-release on the last slice. First I downloaed the i386 memstick image and wrote it to a usb memory stick (using my FreeBSD workstation):

tingo@kg-v2$ su
Password:
root@kg-v2# pwd
/usr/home/tingo/dl/bsd/fbsd/9.1
root@kg-v2# dd if=./FreeBSD-9.1-RELEASE-i386-memstick.img of=/dev/da3 bs=64k
9768+1 records in
9768+1 records out
640180224 bytes transferred in 154.428636 secs (4145476 bytes/sec)
so about 2.5 minutes for that. The image looks like this:
root@kg-v2# l /dev/da3*
/dev/da3   /dev/da3a
root@kg-v2# gpart show da3
=>      0  7821312  da3  BSD  (3.7G)
        0  1250352    1  freebsd-ufs  (610M)
  1250352  6570960       - free -  (3.1G)
root@kg-v2# disktype /dev/da3*

--- /dev/da3
Character device, size 3.729 GiB (4004511744 bytes)
FreeBSD boot loader (i386 boot1 at sector 0)
FreeBSD boot loader (i386 boot2/BTX 1.02 at sector 2)
BSD disklabel (at sector 1), 8 partitions
Partition a: 610.5 MiB (640180224 bytes, 1250352 sectors from 0)
  Type 7 (4.2BSD fast file system)
  Includes the disklabel and boot code
  UFS file system, 8 KiB offset, little-endian
    Volume name "FreeBSD_Install" (in superblock)
Partition c: 610.5 MiB (640180224 bytes, 1250352 sectors from 0)
  Type 0 (Unused)

--- /dev/da3a
Character device, size 610.5 MiB (640180224 bytes)
FreeBSD boot loader (i386 boot1 at sector 0)
FreeBSD boot loader (i386 boot2/BTX 1.02 at sector 2)
BSD disklabel (at sector 1), 8 partitions
Partition a: 610.5 MiB (640180224 bytes, 1250352 sectors from 0)
  Type 7 (4.2BSD fast file system)
  Includes the disklabel and boot code
  UFS file system, 8 KiB offset, little-endian
    Volume name "FreeBSD_Install" (in superblock)
Partition c: 610.5 MiB (640180224 bytes, 1250352 sectors from 0)
  Type 0 (Unused)

that's all.

2013-01-06: slice 3 - info gathering before upgrade:

root@kg-home# uname -a
FreeBSD kg-home.kg4.no 8.2-STABLE FreeBSD 8.2-STABLE #1: Tue Jul 26 22:57:22 CEST 2011     root@kg-home.kg4.no:/usr/obj/usr/src/sys/AS5672  i386
root@kg-home# df -h
Filesystem     Size    Used   Avail Capacity  Mounted on
/dev/ad0s2a    495M    233M    223M    51%    /
devfs          1.0k    1.0k      0B   100%    /dev
/dev/ad0s2e    495M    594k    455M     0%    /tmp
/dev/ad0s2f     60G    6.7G     48G    12%    /usr
/dev/ad0s2d    2.9G     62M    2.6G     2%    /var
root@kg-home# more /etc/rc.conf

# -- sysinstall generated deltas -- # Sat Dec 12 15:16:09 2009
# Created: Sat Dec 12 15:16:09 2009
# Enable network daemons for user convenience.
# Please make all changes to this file, not to /etc/defaults/rc.conf.
# This file now contains just the overrides from /etc/defaults/rc.conf.
font8x14="iso-8x14"
font8x16="iso-8x16"
font8x8="iso-8x8"
keymap="norwegian.iso"
moused_enable="YES"
saver="blank"
sshd_enable="YES"
hostname="kg-home.kg4.no"
## ifconfig_bge0="DHCP"
## ifconfig_wpi0="WPA DHCP"
wlans_wpi0="wlan0"
ifconfig_wlan0="WPA DHCP"
# enable rules in /etc/devfs.rules
devfs_system_ruleset="devfsrules_local"
# ntp
ntpd_enable="YES"
ntpd_sync_on_start="YES"
# dbus
dbus_enable="YES"

pciconf

root@kg-home# pciconf -lv
hostb0@pci0:0:0:0:    class=0x060000 card=0x00941025 chip=0x27a08086 rev=0x03 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = '955XM/945GM/PM/GMS/940GML Express Processor to DRAM Controller'
    class      = bridge
    subclass   = HOST-PCI
pcib1@pci0:0:1:0:    class=0x060400 card=0x00941025 chip=0x27a18086 rev=0x03 hdr=0x01
    vendor     = 'Intel Corporation'
    device     = '955XM/945GM/PM/GMS/940GML Express PCIe Root Port'
    class      = bridge
    subclass   = PCI-PCI
hdac0@pci0:0:27:0:    class=0x040300 card=0x00941025 chip=0x27d88086 rev=0x02 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = 'IDT High Definition Audio Driver  (BA101897)'
    class      = multimedia
    subclass   = HDA
pcib2@pci0:0:28:0:    class=0x060400 card=0x00941025 chip=0x27d08086 rev=0x02 hdr=0x01
    vendor     = 'Intel Corporation'
    device     = '82801G (ICH7 Family) PCIe Root Port'
    class      = bridge
    subclass   = PCI-PCI
pcib3@pci0:0:28:1:    class=0x060400 card=0x00941025 chip=0x27d28086 rev=0x02 hdr=0x01
    vendor     = 'Intel Corporation'
    device     = '82801G (ICH7 Family) PCIe Root Port'
    class      = bridge
    subclass   = PCI-PCI
pcib4@pci0:0:28:2:    class=0x060400 card=0x00941025 chip=0x27d48086 rev=0x02 hdr=0x01
    vendor     = 'Intel Corporation'
    device     = '82801G (ICH7 Family) PCIe Root Port'
    class      = bridge
    subclass   = PCI-PCI
pcib5@pci0:0:28:3:    class=0x060400 card=0x00941025 chip=0x27d68086 rev=0x02 hdr=0x01
    vendor     = 'Intel Corporation'
    device     = '82801G (ICH7 Family) PCIe Root Port'
    class      = bridge
    subclass   = PCI-PCI
uhci0@pci0:0:29:0:    class=0x0c0300 card=0x00941025 chip=0x27c88086 rev=0x02 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = '82801G (ICH7 Family) USB Universal Host Controller'
    class      = serial bus
    subclass   = USB
uhci1@pci0:0:29:1:    class=0x0c0300 card=0x00941025 chip=0x27c98086 rev=0x02 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = '82801G (ICH7 Family) USB Universal Host Controller'
    class      = serial bus
    subclass   = USB
uhci2@pci0:0:29:2:    class=0x0c0300 card=0x00941025 chip=0x27ca8086 rev=0x02 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = '82801G (ICH7 Family) USB Universal Host Controller'
    class      = serial bus
    subclass   = USB
uhci3@pci0:0:29:3:    class=0x0c0300 card=0x00941025 chip=0x27cb8086 rev=0x02 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = '82801G (ICH7 Family) USB Universal Host Controller'
    class      = serial bus
    subclass   = USB
ehci0@pci0:0:29:7:    class=0x0c0320 card=0x00941025 chip=0x27cc8086 rev=0x02 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = '82801G (ICH7 Family) USB 2.0 Enhanced Host Controller'
    class      = serial bus
    subclass   = USB
pcib6@pci0:0:30:0:    class=0x060401 card=0x00941025 chip=0x24488086 rev=0xe2 hdr=0x01
    vendor     = 'Intel Corporation'
    device     = '82801 Family (ICH2/3/4/5/6/7/8/9-M) Hub Interface to PCI Bridge'
    class      = bridge
    subclass   = PCI-PCI
isab0@pci0:0:31:0:    class=0x060100 card=0x00941025 chip=0x27b98086 rev=0x02 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = '82801GBM (ICH7-M) LPC Interface Controller'
    class      = bridge
    subclass   = PCI-ISA
atapci0@pci0:0:31:2:    class=0x010180 card=0x00941025 chip=0x27c48086 rev=0x02 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = '82801GBM/GHM (ICH7-M Family) Serial ATA Storage Controller'
    class      = mass storage
    subclass   = ATA
ichsmb0@pci0:0:31:3:    class=0x0c0500 card=0x00941025 chip=0x27da8086 rev=0x02 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = 'Intel[R] 82801G (ICH7 Family) C- 27DA (82801G)'
    class      = serial bus
    subclass   = SMBus
vgapci0@pci0:1:0:0:    class=0x030000 card=0x00941025 chip=0x71c51002 rev=0x00 hdr=0x00
    vendor     = 'ATI Technologies Inc. / Advanced Micro Devices, Inc.'
    device     = 'ATI MOBILITY /ATI RADEON X1600 (M56)'
    class      = display
    subclass   = VGA
wpi0@pci0:3:0:0:    class=0x028000 card=0x10018086 chip=0x42228086 rev=0x02 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = 'Intel 3945ABG Wireless LAN controller (10208086)'
    class      = network
bge0@pci0:4:0:0:    class=0x020000 card=0x00941025 chip=0x169d14e4 rev=0x21 hdr=0x00
    vendor     = 'Broadcom Corporation'
    device     = 'Broadcom Ethernet Adapter (BCM5782k, BCM5789)'
    class      = network
    subclass   = ethernet
cbb0@pci0:10:9:0:    class=0x060700 card=0x00941025 chip=0x8039104c rev=0x00 hdr=0x02
    vendor     = 'Texas Instruments (TI)'
    device     = 'PCIxx12 Cardbus Controller'
    class      = bridge
    subclass   = PCI-CardBus
fwohci0@pci0:10:9:1:    class=0x0c0010 card=0x00941025 chip=0x803a104c rev=0x00 hdr=0x00
    vendor     = 'Texas Instruments (TI)'
    device     = 'OHCI Compliant IEEE 1394 Host controller (PCIxx12)'
    class      = serial bus
    subclass   = FireWire
none0@pci0:10:9:2:    class=0x018000 card=0x00941025 chip=0x803b104c rev=0x00 hdr=0x00
    vendor     = 'Texas Instruments (TI)'
    device     = 'Texas Instruments an Integrated FlashMedia Controller (PCIVEN_104C&DEV_803B&SUBSYS_207C17AA&REV_00)'
    class      = mass storage

That's it.

2011-07-28: I installed VirtualBox 4.0.12 from ports. At first usb devices would not show up in vm's, even if I have in /etc/rc.conf:

# enable rules in /etc/devfs.rules
devfs_system_ruleset="devfsrules_local"
and in /etc/devfs.rules:
[devfsrules_local=5]
add path 'usb' mode 0770
add path 'usb*' mode 0660
add path 'usb/*' mode 0660
add path 'ugen*' mode 0660

because /dev/usb was mode 0660, not 0770. I guess a reordering is in place:

[devfsrules_local=5]
add path 'usb*' mode 0660
add path 'usb' mode 0770
add path 'usb/*' mode 0660
add path 'ugen*' mode 0660

That should fix it.

2011-07-26: I changed /sys/dev/usb/usb_device.c from

        /* Set the actual configuration value. */
        err = usbd_req_set_config(udev, NULL, cdp->bConfigurationValue);
        if (err) {
                goto done;
        }

into

        /* Set the actual configuration value. */
        err = usbd_req_set_config(udev, NULL, cdp->bConfigurationValue);
        if (err && 0) {
                goto done;
        }
        err = 0;

and rebuilt the kernel. After the reboot, my stupid label printer is detected like this: from /var/log/messages:

Jul 26 23:15:23 kg-home kernel: ugen0.2: <vendor 0x0922> at usbus0
Jul 26 23:15:23 kg-home kernel: ulpt0: <vendor 0x0922 product 0x0011, class 0/0, rev 1.10/1.00, addr 2> on usbus0
Jul 26 23:15:23 kg-home kernel: device_attach: ulpt0 attach returned 12

usbconfig

root@kg-home# usbconfig -d 0.2
ugen0.2: <product 0x0011 vendor 0x0922> at usbus0, cfg=0 md=HOST spd=LOW (1.5Mbps) pwr=ON

2011-07-18: slice 2 - XFce 4.8: I had to reinstall the sysutils/garcon port, to get the Xfce menu working again. To get the icons in the panel back, I had to reinstall the sysutils/xfce4-utils port and remove the ~/.config directory.

2011-07-18: slice 2 - Xorg - using the radeon driver (instead of radeonhd) makes Xorg work at least. Log file: Xorg.0.log. From /var/log/messages:

Jul 18 21:25:44 kg-home kernel: drm0: <ATI Mobility Radeon X1600> on vgapci0
Jul 18 21:25:44 kg-home kernel: info: [drm] MSI enabled 1 message(s)
Jul 18 21:25:44 kg-home kernel: info: [drm] Initialized radeon 1.31.0 20080613
Jul 18 21:25:45 kg-home kernel: info: [drm] Setting GART location based on new memory map
Jul 18 21:25:45 kg-home kernel: info: [drm] Loading R500 Microcode
Jul 18 21:25:45 kg-home kernel: info: [drm] Num pipes: 1
Jul 18 21:25:45 kg-home kernel: info: [drm] writeback test succeeded in 1 usecs
Jul 18 21:25:45 kg-home kernel: drm0: [ITHREAD]

Better than nothing, I suppose.

2011-07-18: slice 2 - trying to start Xorg, using this xorg.conf, gives me a black screen (Xorg.0.log). Not so funny, because Xorg crashed. From /var/log/messages:

Jul 18 20:03:40 kg-home kernel: drm0: <ATI Mobility Radeon X1600> on vgapci0
Jul 18 20:03:40 kg-home kernel: info: [drm] MSI enabled 1 message(s)
Jul 18 20:03:40 kg-home kernel: info: [drm] Initialized radeon 1.31.0 20080613
Jul 18 20:03:40 kg-home kernel: info: [drm] Setting GART location based on new memory map
Jul 18 20:03:40 kg-home kernel: info: [drm] Loading R500 Microcode
Jul 18 20:03:40 kg-home kernel: info: [drm] Num pipes: 1
Jul 18 20:03:40 kg-home kernel: info: [drm] writeback test succeeded in 1 usecs
Jul 18 20:03:40 kg-home kernel: drm0: [ITHREAD]
Jul 18 20:03:40 kg-home kernel: pid 5408 (Xorg), uid 0: exited on signal 11 (core dumped)
Jul 18 20:03:40 kg-home kernel: info: [drm] Num pipes: 1

Ok, need to figure out a fix for that. I also tried with the default config file generated with X -configure, like this:

X -config /root/store/xorg.conf.new

but it also crashed. pciconf output:

root@kg-home# pciconf -lv | grep -A4 vga
vgapci0@pci0:1:0:0:    class=0x030000 card=0x00941025 chip=0x71c51002 rev=0x00 hdr=0x00
    vendor     = 'ATI Technologies Inc. / Advanced Micro Devices, Inc.'
    device     = 'ATI MOBILITY /ATI RADEON X1600 (M56)'
    class      = display
    subclass   = VGA

That is all I have so far. I loaded Xorg and the core in gdb, and did a bt:

root@kg-home# gdb Xorg ./Xorg.core
GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-marcel-freebsd"...(no debugging symbols found)...
Core was generated by `Xorg'.
Program terminated with signal 11, Segmentation fault.
Reading symbols from /usr/local/lib/libpciaccess.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libpciaccess.so.0
Reading symbols from /usr/local/lib/libXfont.so.1...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libXfont.so.1
Reading symbols from /usr/local/lib/libfreetype.so.9...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libfreetype.so.9
Reading symbols from /usr/local/lib/libfontenc.so.1...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libfontenc.so.1
Reading symbols from /lib/libz.so.5...(no debugging symbols found)...done.
Loaded symbols for /lib/libz.so.5
Reading symbols from /usr/local/lib/libXau.so.6...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libXau.so.6
Reading symbols from /usr/local/lib/libpixman-1.so.9...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libpixman-1.so.9
Reading symbols from /usr/local/lib/libhal.so.1...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libhal.so.1
Reading symbols from /usr/local/lib/libdbus-1.so.3...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libdbus-1.so.3
Reading symbols from /usr/local/lib/libXdmcp.so.6...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libXdmcp.so.6
Reading symbols from /lib/libcrypto.so.6...(no debugging symbols found)...done.
Loaded symbols for /lib/libcrypto.so.6
Reading symbols from /usr/lib/librpcsvc.so.5...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/librpcsvc.so.5
Reading symbols from /lib/libm.so.5...(no debugging symbols found)...done.
Loaded symbols for /lib/libm.so.5
Reading symbols from /lib/libthr.so.3...(no debugging symbols found)...done.
Loaded symbols for /lib/libthr.so.3
Reading symbols from /lib/libc.so.7...(no debugging symbols found)...done.
Loaded symbols for /lib/libc.so.7
Reading symbols from /usr/local/lib/xorg/modules/extensions/libextmod.so...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/xorg/modules/extensions/libextmod.so
Reading symbols from /usr/local/lib/xorg/modules/extensions/librecord.so...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/xorg/modules/extensions/librecord.so
Reading symbols from /usr/local/lib/xorg/modules/extensions/libdbe.so...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/xorg/modules/extensions/libdbe.so
Reading symbols from /usr/local/lib/xorg/modules/extensions/libglx.so...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/xorg/modules/extensions/libglx.so
Reading symbols from /usr/local/lib/xorg/modules/extensions/libdri.so...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/xorg/modules/extensions/libdri.so
Reading symbols from /usr/local/lib/libdrm.so.2...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/libdrm.so.2
Reading symbols from /usr/local/lib/xorg/modules/extensions/libdri2.so...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/xorg/modules/extensions/libdri2.so
Reading symbols from /usr/local/lib/xorg/modules/drivers/radeonhd_drv.so...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/xorg/modules/drivers/radeonhd_drv.so
Reading symbols from /usr/local/lib/xorg/modules/libfb.so...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/xorg/modules/libfb.so
Reading symbols from /usr/local/lib/xorg/modules/libexa.so...(no debugging symbols found)...done.
Loaded symbols for /usr/local/lib/xorg/modules/libexa.so
Reading symbols from /libexec/ld-elf.so.1...(no debugging symbols found)...done.
Loaded symbols for /libexec/ld-elf.so.1
#0  0x2885a407 in RHDDRILeaveVT () from /usr/local/lib/xorg/modules/drivers/radeonhd_drv.so
[New Thread 28701140 (LWP 100136/initial thread)]
(gdb) bt
#0  0x2885a407 in RHDDRILeaveVT () from /usr/local/lib/xorg/modules/drivers/radeonhd_drv.so
#1  0x2882fa11 in RHDLeaveVT () from /usr/local/lib/xorg/modules/drivers/radeonhd_drv.so
#2  0x080ba754 in AbortDDX ()
#3  0x080b337d in AbortServer ()
#4  0x080b395f in FatalError ()
#5  0x080acf1e in OsInit ()
#6  <signal handler called>
#7  0x00000000 in ?? ()
#8  0x2883c50f in LVDSPower () from /usr/local/lib/xorg/modules/drivers/radeonhd_drv.so
#9  0x28820771 in rhdBIOSScratchPower () from /usr/local/lib/xorg/modules/drivers/radeonhd_drv.so
#10 0x2884d9ce in rhdRROutputCommit () from /usr/local/lib/xorg/modules/drivers/radeonhd_drv.so
#11 0x080ce965 in xf86CrtcSetModeTransform ()
#12 0x080cee21 in xf86SetDesiredModes ()
#13 0x2884d83f in RHDRandrModeInit () from /usr/local/lib/xorg/modules/drivers/radeonhd_drv.so
#14 0x288317e2 in RHDScreenInit () from /usr/local/lib/xorg/modules/drivers/radeonhd_drv.so
#15 0x08071adb in AddScreen ()
#16 0x080bb0b4 in InitOutput ()
#17 0x0806bc51 in main ()
(gdb)

Don't know if that is useful.

2011-07-17: slice 2 - based on a hint from the freebsd-mobile mailing list, I csup'ed again, and built a new kernel with options NEW_PCIB. Here is the kernel config file:

tingo@kg-home$ more /sys/i386/conf/AS5672
#
# AS5672        - GENERIC kernel, plus an option: NEW_PCIB
#
include GENERIC

ident   AS5672-GENERIC

options NEW_PCIB

Now, both network interfaces are working at boot, no patches needed. Nice! dmesg output: normal, verbose.

2011-07-15: slice 2 - upgraded to FreeBSD 8.2-stable via csup, make world. dmesg output: normal, verbose. As usual, the network interfaces (wpi0 and bge0) didn't work. After implementing Alexander Motin's patch (tm6292_pcie.patch) again (the second hunk of the patch was rejected), wpi0 works again. dmesg output with pach: normal, verbose.

2010-10-08: I booted FreeBSD 8.1-release from a memory stick. dmesg output: normal, verbose. The memory stick was made like this: dd if=/home/tingo/dl/bsd/fbsd/8.1/FreeBSD-8.1-RELEASE-i386-memstick.img of=/dev/da4 bs=10240 conv=sync, where da4 is the memory stick. wpi0 and bge0 still doesn't attach - no change there.

2010-01-17: slice 2 - I implemented Alexander Motin's patch (tm6292_pcie.patch) and rebuild the kernel. This makes wpi0 attach even with acpi enabled, and usable. Very cool!. bge0 still doesn't attach for some reason. dmesg output: normal, verbose (part 1, part 2).

2010-01-16: slice 2 - I upgraded to latest FreeBSD 8.0-stable. Network interfaces (bge0, wpi0) do not work with acpi enabled, if I kldload wpi it will even panic the machine. dmesg output normal, verbose. With acpi disabled, network interfaces work. dmesg output with acpi disabled: normal, verbose.

2009-12-12: I installed FreeBSD 8.0-release on slice 2 from a memory stick. dmesg output: normal, verbose.

2009-07-07: I booted FreeBSD 8.0-BETA1 from a memory stick. Unfortunately fixit mode didn't work, so I didn't get a copy of the dmesg. But - the problems with the NIC's and acpi are still there. Ugh.

2009-02-19: Reinstall - I installed FreeBSD 7.1-release (i386) on slice 2 of the new hard drive (see main page for more info).

2009-01-08: slice 3 - I upgraded to FreeBSD 7.1-stable. NIC's still don't work unless I disable acpi. dmesg output: normal, verbose, with acpi disabled: normal, verbose.

2008-11-23: acpi-amilo looks interesting.

2008-10-09: for completeness, I upgraded to FreeBSD 7.1-prerelease on the internal hard drive also. dmesg output: normal, verbose, with acpi disabled: normal, verbose.

2008-10-09: still with the usb hard drive, I upgraded slice 1 to FreeBSD 7.1-prerelease. Again, acpi needs to be disabled for network interfaces to work. dmesg output: normal, acpi disabled.

2008-10-09: usb boot - I booted a usb hard drive with FreeBSD 6.4-prerelease on. It still needs acpi disabled for network interfaces (bge) to work. dmesg output.

2008-10-09: usb boot - I booted a usb harddrive with FreeBSD 7.0-stable from 2008-05-10 on it. Still needs acpi disabled for network interfaces to work. dmesg output with acpi disabled: normal.

2008-03-10: usb-boot - The answer to what part I had been missing is this: you need to update boot2 as well. That is done with bsdlabel -B da0s1 (or any other slice you want to update). After that, the machine boots fine from usb. Here is the dmesg output.

2008-03-09: upgraded the machine to FreeBSD 7.0-release. dmesg output: normal, verbose and with acpi disabled. It is still necessary to set hint.acpi.0.disabled="1" in /boot/loader.conf if I want the network interfaces (bge and wpi) to attach.

2008-03-09: usb boot - For testing, I used fdisk -B da0 to install /boot/mbr. When booted, the screen displays exactly one register dump, followed by "BTX Halted".

2008-03-09: usb boot - my way of rebuilding the boot blocks was wrong. So I followed the correct way (from the Handbook, Section 24.6.5.2):

cd /usr/src/sys/boot
make clean
make
make install

Then I installed boot0 again, and tried to boot from the usb hard drive again. Still scrolling register dumps.

2008-03-08: usb boot - I also tried extipl (sysutils/extipl) with default installation, but that didn't work either.

2008-03-08: usb boot - I tried the patch from http://people.freebsd.org/~jhb/patches/btx_real.patch (I had to get the latest revision (1.45) of btx.S before the patch would apply), and did:

cd /usr/src
patch -p6 < .../btx_real.patch
cd sys/boot/i386
make

Then I copied the files to the usb hdd (da0) with:

boot0cfg -B -b /usr/obj/usr/src/sys/boot/i386/boot0/boot0 da0
cp -v /usr/obj/usr/src/sys/boot/i386/loader/loader /boot

But it didn't work either. Still scrolling register dumps. I wonder if I do this the right way.

2008-03-08: usb boot - I tried to boot FreeBSD 7.0-release from an external (usb) drive. Unfortunately, btx still scrolls register dumps in an endless loop on screen. The FreeBSD installation on the usb drive works on another machine.

2007-11-11: upgraded the machine to FreeBSD 6.3-prerelease. dmesg output: normal, acpi_disabled. I can't remember if I did any tests at all.

2007-11-10: upgraded BIOS to v1.3239 (Release date: 01/12/07). Doesn't seem to have changed things.

2007-11-09: usb boot - I tried the patch from http://people.freebsd.org/~kib/realbtx/, to see if it helped with the usb hdd boot problem. I did:

cd /usr/src/sys
patch < ../.../realbtx.2.patch
cd boot/i386
make

Then I copied the files to the usb hdd (da0) with:

boot0cfg -B -b /usr/obj/usr/src/sys/boot/i386/boot0/boot0 da0
mount /dev/da0s1a /mnt
cp -v /usr/obj/usr/src/sys/boot/i386/loader/loader /mnt/boot

unfortunately, it didn't help. When booting from usb hdd, the screen fills with forever scrolling text (register dumps?)

2007-07-19: upgraded the machine to latest FreeBSD 6.2-stable. No noticable changes in behavior. normal dmesg(verbose), and with acpi disabled. Network drivers (for bge0 and wpi0) only attaches when acpi is disabled, as before.

2007-03-08: I added the ec patch (ec.diff) from the freebsd-stable mailinglist and recompiled the acpi.ko kernel module. dmesg output. Output of sysctl hw.acpi.

2007-01-21: upgraded the machine to FreeBSD 6.2-stable via cvsup. No big changes. nomal desg, and with acpi disabled. Network drivers (for bge0 and wpi0) only attaches when acpi is disabled, as before.

2006-11-21: cvsup'ed to latest RELENG_6 and tested wpi. It still only works with acpi disabled: dmesg normal, verbose. dmesg with acpi enabled: normal, verbose.

2006-11-19: there is a wpi driver (for the 3945 wireless) in progress at: http://people.freebsd.org/~flz/local/wpi/. I tested it, and it works! Caveat: it only works when ACPI is disabled (like the bge driver). dmesg output: normal, verbose.

2006-11-17: usb boot - I tested FreeBSD 6.2-RC1 on an external USB hard drive. Installation was a success. Unfortunately, the machine will not boot from the external HD. It only displays what I think must be register dumps (hard to tell, it scrolls by too fast) until I turn i off.

2006-11-10: I was recently sent s couple of patches for pci. I tried those on FreeBSD 6.2-PRERELEASE, both patches applied cleanly. After making a new kernel, i rebooted. Unfortunately, bge still will not work with these patches and acpi enabled. Here are dmesgs normal, verbose.

2006-10-07: bge debugging continues. A FreeBSD developer requested some register info from pciconf, here it is, register dumps (with acpi) and register dumps (with acpi disabled).

I updated to FreeBSD 6.2-PRERELEASE, here are normal dmesg, normal dmesg (verbose), and with acpi disabled: acpi disabled dmesg, acpi disabled dmesg (verbose). bge is compiled as a module, and loaded manually.

I tested FreeBSD 6.2-beta1 (i386, of course). Here are the results:

First, with nothing disabled: normal dmesg, verbose dmesg.

Then, with acpi disabled, and routing for irq 18 forced: normal dmesg, verbose dmesg. Disabling and forced irq routing is done by setting

hint.acpi.0.disabled="1"
hw.pci4.0.INTA.irq="18"

in /boot/loader.conf

The main problem is that with acpi disabled, the machine gets too hot within less than an hour, and starts overheating. At that point, things like networking (both wired, PCCard and usb-based (ural) network options have the same problems) starts to malfunction, and will very shortly stop working at all.

Other than that, I can reliably panic 6.2-beta1 by attaching an ural(4) device to my machine, configuring it, and using it.

For comparison, here are the dmesg results from FreeBSD 6.1-stable dated 2006.08.08: normal dmesg, verbose dmesg.

info about bge0 network card: lspci -vvv, pciconf output. lspci -x, lspci -x (with acpi disabled).

Here is an article about my earlier attempts: FreeBSD on an Acer Aspire 5672 laptop.

At this point in time, Linux works better than FreeBSD on this laptop.