Jan 122000
 

FreeBSD on a laptop

This article was written by "Chris Silva" <bitsurfr@enteract.com> and outlines how he installed FreeBSD on a Compaq Armada 1530DM without using PAO.

The article

Well – after some time, and many installs I wanted my honey of an OS, FreeBSD, to be on my lapdog… I would be damned if I would allow Gates to nab me ‘dog…

I started with a 3Com 3CCE589ET and my ‘dog… I wantend FBSD on it badly. So I installed… The default, surely didn’t work – so I searched the FreeBSd site… I came across PAO, wich is mobile computing… That was dandy if you wanted to stay with FBSD 3.3-RELEASE, but I was looking at 3.4 but just a few weeks away…

Granted, PAO did what it was ‘sposed to do, and I was happy… But, I wanted more… So, I searched… I did’nt find the info I was hoping for (at least not right off the bat) so – I thought, lets try NetBSD, OpenBSD, and even Mandrake…

Well, Mandrake blew the hell up… Right out of the water… NetBSD actually went a bit further, but still blew up… So – I opted fer OpenBSD… The install was a bit much at first. But after I got the hang of it (10 min.) it was rather refreshing to do something differant.

OpenBSD was just dandy – I got a config for XFree from a Linux site (name withheld) and I was off and running…

But, I still missed my fav-OS… I revisited PAO, still no update, then I yacked to my friends on #FreeBSD/UnderNet… I spoke with Acme, he told me how FBSD should look under the correct conditions. I jotted down his ideas, and spyed his config…

From that I got a basic idea of what ought to be done and what to look for. He suggested I compile the PCCARD kernel, which I did, and still, nothing… We chated at length (Thanks Acme) and still he lent more ideas where to look… It was time for me to do this on my own…

After a few kernel compiles and watching the dmesg, I deceided to look closely at /etc – even more so the /etc/pccard.conf.sample file (which I failed to see before). This was the break I needed.

Here is the stuff I kept:

# Sample PCCARD configuration file
#
# Removing all IRQ conflicts from this file can't be done because of some
# IRQ-selfish PC-cards.  So if you want to use some of these cards in
# your machine, you will be forced to modify their IRQ parameters from
# the following list.
#
# IRQ == 0 means "allocate free IRQ from IRQ pool"
# IRQ == 16 means "do not use IRQ (e.g. PIO mode)"
#
# $FreeBSD: src/etc/pccard.conf.sample,v 1.24.2.15 1999/11/16 17:48:38 roger Exp $
# Generally available IO ports
io      0x240-0x360
# Generally available IRQs (Built-in sound-card owners remove 5)
irq     3 5 10 11 13 15
# Available memory slots
memory  0xd4000  96k
# 3Com Megahertz 3CCE589E* 10 Mbps LAN PC Card
card "3Com" "Megahertz 589E"
        config 0x1 "ep0" ?
        insert echo 3Com Megahertz Ethernet card inserted
        insert /etc/pccard_ether ep0
        remove echo 3Com Megahertz Ethernet card removed
        remove /sbin/ifconfig ep0 delete

After that I moded my /etc/rc.conf to reflect this:

# This file now contains just the overrides from /etc/defaults/rc.conf
# please make all changes to this file.
# -- sysinstall generated deltas -- #
hostname="laptop.makeworld.com"
linux_enable="YES"
#moused_port="/dev/psm0"
#moused_enable="YES"
defaultrouter="10.3.1.1"
pccard_enable="YES"
pccard_mem="DEFAULT"
pccard_ifconfig="inet 10.3.1.22 netmask 255.0.0.0"
pccardd_flags="-i 10"
rpc_statd_enable="NO"
portmap_enable="NO"
clear_tmp_enable="YES"

The PCCARD Configuration

After a reboot, I preform a PCCARDC DUMPCIS to show me the specs of the card:
Configuration data for card in slot 0
Tuple #1, code = 0x1 (Common memory descriptor), length = 2
    000:  00 ff
        Common memory device information:
                Device number 1, type No device, WPS = OFF
                Speed = No speed, Memory block size = reserved, 32 units
Tuple #2, code = 0x17 (Attribute memory descriptor), length = 3
    000:  43 02 ff
        Attribute memory device information:
                Device number 1, type EEPROM, WPS = OFF
                Speed = 150nS, Memory block size = 8Kb, 1 units
Tuple #3, code = 0x20 (Manufacturer ID), length = 4
    000:  01 01 89 05
        PCMCIA ID = 0x101, OEM ID = 0x589
Tuple #4, code = 0x21 (Functional ID), length = 2
    000:  06 00
        Network/LAN adapter
Tuple #5, code = 0x15 (Version 1 info), length = 46
    000:  04 01 33 43 6f 6d 00 4d 65 67 61 68 65 72 74 7a
    010:  20 35 38 39 45 00 54 50 2f 42 4e 43 20 4c 41 4e
    020:  20 50 43 20 43 61 72 64 00 30 30 35 00 ff
        Version = 4.1, Manuf = [3Com],card vers = [Megahertz 589E]
        Addit. info = [TP/BNC LAN PC Card],[005]
Tuple #6, code = 0x1a (Configuration map), length = 6
    000:  02 03 00 00 01 03
        Reg len = 3, config register addr = 0x10000, last config = 0x3
        Registers: XX------ 
Tuple #7, code = 0x1b (Configuration entry), length = 20
    000:  c1 01 1d 71 55 35 55 54 e0 72 5d 64 30 ff ff 80
    010:  80 80 80 0f
        Config index = 0x1(default)
        Interface byte = 0x1 (I/O)
        Vcc pwr:
                Nominal operating supply voltage: 5 x 1V
                Max current average over 1 second: 3 x 10mA
                Max current average over 10 ms: 5 x 10mA
                Power down supply current: 5 x 1mA
        Wait scale Speed = 7.0 x 100 ns
        RDY/BSY scale Speed = 7.0 x 100 ns
        Card decodes 18 address lines, full 8/16 Bit I/O
                IRQ modes: Level, Pulse
                IRQs:  IOCK 1 4 5 6 8 10 11 12 14
Tuple #8, code = 0x1b (Configuration entry), length = 7
    000:  03 01 71 55 26 26 54
        Config index = 0x3
        Vcc pwr:
                Nominal operating supply voltage: 5 x 1V
                Max current average over 1 second: 2 x 100mA
                Max current average over 10 ms: 2 x 100mA
                Power down supply current: 5 x 1mA
Tuple #9, code = 0x19 (JEDEC descr for attribute memory), length = 3
    000:  00 00 ff
Tuple #10, code = 0x14 (No link), length = 0
Tuple #11, code = 0x10 (Checksum), length = 5
    000:  8f ff 7a 00 00
        Checksum from offset -113, length 122, value is 0x0

In any event – this got the lapdog running, and I have been happy since!!!