Basically getting going with the new modem was no big deal, just plug it in and change the settings to match what the ISP uses with their ADSL. The advantage over the old modem is that I can add, remove, pause, configure and reconfigure any of the regular connectivity services however and whenever I want.
That flexibility also extends to additional functionality which I can choose to add at my whim.
The a Viking PCI ADSL2+ Modem ( Model Number Vulcan BSP v0.01 / Vulcan CSP v0.01 ) from Traverse Technologies Australia Pty Ltd uses a Conexant chipset. The modem fits in a regular PCI slot and appears to the operating system to be a regular ethernet adapter, once configured to connect properlty to ADSL.
Setup and ping both the interface and modem.
$ ifconfig re0 down; $ ifconfig re0 192.168.1.1; # assign address to modem $ ifconfig re0 192.168.1.2; # assign address to modem $ ifconfig re0 up; $ ping 192.168.1.2; # interface $ ping 192.168.1.1; # modem
The modem is managed nicely via a text interface using Telnet.
$ telnet 192.168.1.1;
For now, the http management seems not work fully with lynx and, to me, call into question more of the firmware. YMMV.
Excerpts from a telnet session are shown below.
RFC1483 is used for Bridged Ethernet.
Below is the dialog for removing the default WAN interface and setting up a bridge,
Followed by setting up a transport.
The syntax is : rfc1483 add transport <name> <port> <vpi> <vci> <encap> bridged | routed.
Then the transport is connected to the bridge.
--> ip delete interface ipwan --> bridge add interface br0 --> bridge attach br0 ethernet --> rfc1483 add transport tr1 a1 0 33 llc bridged --> bridge add interface br1 --> bridge attach br1 tr1
The ADSL standard is set with the following command. To apply a Linecode or Standard change a retrain must be forced
The table in the side bar shows the full list of standards, and which Linecodes they apply to.
--> port a1 set Standard G.Dmt --> port a1 set ActivateLine start
Once working settings are found, it is good to store them in flash, so they will be restored in the event of a reset or power failure:
--> system config save
Finished. Get the operating system's networking going again, using the ADSL modem. It will use the ISP's DHCP service to get an IPv4 number.
$ ifconfig re0 192.168.1.2 delete $ echo "DHCP NONE NONE NONE" > /etc/hostname.re0 $ sh /etc/netstart
JP2 can, in principle, be used for direct serial connection to the onboard configuration utility or it is possble to telnet via tcp/ip to the modem.
Viking PCI ADSL2+ Modem OEM Documentation.
Traverse Technologies Australia Pty Ltd.
(2008)
http://www.traverse.com.au/downloads/adsl/viking_oem-08.pdf
Viking PCI ADSL2+ Data Sheet
http://www.traverse.com.au/downloads/adsl/vikingdat_03.pdf
Viking PCI ADSL2+ CLI Manual
http://www.traverse.com.au/downloads/adsl/viking_cli_config_guide.pdf
The abominable Dynamic Host Configuration Protocol (DHCP) service and Network Address Translation (NAT) are covered by dozens of tutorials, howto's, and FAQs. No need to cover it here.
See specifically, for OpenBSD:
6.4.2 - DHCP Server.
"6 - Networking."
OpenBSD Documentation and Frequently Asked Questions (FAQ). Version 4.5.
http://www.openbsd.org/faq/faq6.html#DHCPserver
Configuring NAT.
"PF: Network Address Translation (NAT)"
OpenBSD Documentation and Frequently Asked Questions (FAQ). Version 4.5.
http://www.openbsd.org/faq/pf/nat.html#config
For more information on ftp-proxy, see
ftp-proxy(8) - manual page.
FTP Client Behind the Firewall.
"PF: Issues with FTP"
OpenBSD Documentation and Frequently Asked Questions (FAQ). Version 4.5.
http://www.openbsd.org/faq/pf/ftp.html#client
/etc/rc.conf.localftpproxy_flags="" # for normal use: ""
/etc/pf.confnat-anchor "ftp-proxy/*" rdr-anchor "ftp-proxy/*" rdr pass on ! egress proto tcp to port ftp -> 127.0.0.1 port 8021
For transparent proxying to work, changes must also be made to the packet filter. Note, that transparent proxying is not necessarily a good thing.
/etc/squid/squid.conf# access only from LAN http_access allow localnet . . . # Set transparent proxy on port 3128 http_port 3128 transparent
TODO ...
btpd is a utility for sharing files over the BitTorrent network protocol and runs in daemon mode, needing no controlling terminal or gui.
torrenttorrenters/etc/sudoers/etc/pf.conf/etc/rc.local/etc/rc.shutdownGroups, users, and directories.
The group torrenters is for providing access to the torrent directories and the ability to start or stop services.
groupadd torrenters; # for access to torrent services and data
usermod -G torrenters lars; # first member usermod -G torrenters -d /var/torrents -s /sbin/nologin torrent
The files need to be saved somewhere accessible to all authorized users.
In this case the list of authorized users is in the group torrenters.
There seems to be some untidiness about where operational data is stored by btpd.
The option -d has different functions depending on the context.
e.g. btcli -d /home/torrent/.btpd/ add -d /var/torrents/
/var/torrents/osol-0906-x86.iso.torrent
Eventually I gave up and just symlinked .btpd back to the parent directory
and that seems to work.
mkdir /var/torrents; # duh chgrp torrenters /var/torrents; # directory for torrenters group chmod g+rw /var/torrents; # set group write -- risky # I give up trying to sort out the -d option and put the data where I want it: ln -s /var/torrents/ /var/torrents/.btpd; # symlink back to parent dir
Log files should be taken care of, too.
# prepare the log touch /var/log/btpd/bt.log \ && chgrp torrent /var/log/btpd/bt.log \ && chmod g+wr /var/log/btpd/bt.log \ && chmod o+x /var/log/btpd/
/etc/sudoerssudo allows the torrent utilities to be run as the user torrent without letting people run amok on the system. (One would hope.)
Torrent utilities need the environment variable $HOME. Thus, SETENV is used in sudoers. The configuration below allows anyone in the group torrenters to start, stop, add or remove torrents.
Cmnd_Alias BTP = /usr/local/bin/btcli, /usr/local/bin/btpd, \
/usr/local/bin/btinfo, /bin/ls, /usr/bin/pkill
. . .
%torrenters ALL=(torrent) NOPASSWD: SETENV: BTP
/etc/rc.localThe torrents should resume automatically when the machine gets turned on.
# start the torrent daemon
sudo -H -u torrent /usr/local/bin/btpd -d /var/torrents/ \
-p 24556 --bw-out 100 --max-peers 10 \
--logfile /var/log/btpd/bt.log
# load torrents
for i in `ls /var/torrents/*.torrent`;do
sudo -u torrent /usr/local/bin/btcli -d /var/torrents/ \
add -d /var/torrents/ $i
done;
# list torrents
sudo -H -u torrent /usr/local/bin/btcli -d /var/torrents/ list
/etc/rc.shutdownShutting down gracefully allows states to be maintained and the logs to be clean.
sudo -H -u torrent /usr/local/bin/btcli -d /var/torrents/ stop -a
The queues limit outgoing bandwidth and unconditionally prioritize non-torrent traffic. They also should address the problem of prioritizing TCP ACK when the connection is otherwise saturated.
## Lars Nooden, 29 Aug 2009
##
## Macros
lan_net= "vr0:network, vr1:network, vr2:network, vr3:network"
lan_if= "vr0, vr1, vr2, vr3"
lan_bw="960Kb"
ext_if= "re0"
ext_bw="240Kb"
## Options
set block-policy return
## Tables
## Queues
altq on re0 bandwidth $ext_bw hfsc queue { main, torrents }
queue main bandwidth 80% priority 7 qlimit 100 hfsc (realtime 20%) { main_hi, main_lo }
queue main_hi bandwidth 50% priority 7 hfsc (default)
queue main_lo bandwidth 50% priority 1 hfsc
queue torrents bandwidth 20% priority 0 qlimit 300 hfsc
## Translation
nat on $ext_if from { $lan_net } to any -> ( $ext_if )
# NAT rules and anchors for ftp-proxy(8)
nat-anchor "ftp-proxy/*"
rdr-anchor "ftp-proxy/*"
rdr pass on ! egress proto tcp to port ftp -> 127.0.0.1 port 8021
# squid transparent proxy, not necessarily a good thing, but ...
rdr pass on ! egress proto tcp to port http -> 127.0.0.1 port 3128
## Filters
anchor "ftp-proxy/*"
antispoof quick for lo0
pass quick on lo0 to lo0
block log
block log on { $ext_if }
pass in on { $lan_if } from { $lan_net } tag LAN
pass out on { $lan_if }
pass out quick on { $ext_if } queue ( main_lo, main_hi ) tagged LAN
pass out on { $ext_if } queue ( main_lo, main_hi )
pass out on { $ext_if } queue ( torrents ) group torrent
Firewalling with PF / Brannmur med PF.
Peter N. M. Hansteen.
(2009)
http://home.nuug.no/~peter/pf/
The Book of PF:
A No-Nonsense Guide to the OpenBSD Firewall.
Peter N.M. Hansteen.
December 2007, 184 pp.
ISBN-13 978-1-59327-165-7
http://nostarch.com/pf.htm
Prioritizing empty TCP ACKs with pf and ALTQ.
Daniel Hartmeier.
http://www.benzedrine.cx/ackpri.html
pf.conf(5). OpenBSD Programmer's Manual. (2009) v 4.6
$ dmesg
OpenBSD 4.6-current (GENERIC) #123: Sat Aug 22 14:20:26 MDT 2009
deraadt@i386.openbsd.org:/usr/src/sys/arch/i386/compile/GENERIC
cpu0: Geode(TM) Integrated Processor by AMD PCS ("AuthenticAMD" 586-class) 500 MHz
cpu0: FPU,DE,PSE,TSC,MSR,CX8,SEP,PGE,CMOV,CFLUSH,MMX
real mem = 536440832 (511MB)
avail mem = 510943232 (487MB)
mainbus0 at root
bios0 at mainbus0: AT/286+ BIOS, date 20/70/03, BIOS32 rev. 0 @ 0xfac40
pcibios0 at bios0: rev 2.0 @ 0xf0000/0x10000
pcibios0: pcibios_get_intr_routing - function not supported
pcibios0: PCI IRQ Routing information unavailable.
pcibios0: PCI bus #0 is the last bus
bios0: ROM list: 0xc8000/0xa800
cpu0 at mainbus0: (uniprocessor)
amdmsr0 at mainbus0
pci0 at mainbus0 bus 0: configuration mode 1 (bios)
io address conflict 0x6100/0x100
io address conflict 0x6200/0x200
pchb0 at pci0 dev 1 function 0 "AMD Geode LX" rev 0x33
glxsb0 at pci0 dev 1 function 2 "AMD Geode LX Crypto" rev 0x00: RNG AES
vr0 at pci0 dev 6 function 0 "VIA VT6105M RhineIII" rev 0x96: irq 11, address 00:00:24:cb:a9:24
ukphy0 at vr0 phy 1: Generic IEEE 802.3u media interface, rev. 3: OUI 0x004063, model 0x0034
vr1 at pci0 dev 7 function 0 "VIA VT6105M RhineIII" rev 0x96: irq 5, address 00:00:24:cb:a9:25
ukphy1 at vr1 phy 1: Generic IEEE 802.3u media interface, rev. 3: OUI 0x004063, model 0x0034
vr2 at pci0 dev 8 function 0 "VIA VT6105M RhineIII" rev 0x96: irq 9, address 00:00:24:cb:a9:26
ukphy2 at vr2 phy 1: Generic IEEE 802.3u media interface, rev. 3: OUI 0x004063, model 0x0034
vr3 at pci0 dev 9 function 0 "VIA VT6105M RhineIII" rev 0x96: irq 12, address 00:00:24:cb:a9:27
ukphy3 at vr3 phy 1: Generic IEEE 802.3u media interface, rev. 3: OUI 0x004063, model 0x0034
re0 at pci0 dev 14 function 0 "Realtek 8139" rev 0x20: RTL8139C+ (0x7480), irq 10, address 00:0a:fa:20:03:79
rlphy0 at re0 phy 0: RTL internal PHY
glxpcib0 at pci0 dev 20 function 0 "AMD CS5536 ISA" rev 0x03: rev 0, 32-bit 3579545Hz timer, watchdog, gpio
gpio0 at glxpcib0: 32 pins
pciide0 at pci0 dev 20 function 2 "AMD CS5536 IDE" rev 0x01: DMA, channel 0 wired to compatibility, channel 1 wired to compatibility
wd0 at pciide0 channel 0 drive 0:
wd0: 4-sector PIO, LBA, 3919MB, 8027712 sectors
wd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 2
pciide0: channel 1 ignored (disabled)
ohci0 at pci0 dev 21 function 0 "AMD CS5536 USB" rev 0x02: irq 15, version 1.0, legacy support
ehci0 at pci0 dev 21 function 1 "AMD CS5536 USB" rev 0x02: irq 15
usb0 at ehci0: USB revision 2.0
uhub0 at usb0 "AMD EHCI root hub" rev 2.00/1.00 addr 1
isa0 at glxpcib0
isadma0 at isa0
com0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
com0: console
com1 at isa0 port 0x2f8/8 irq 3: ns16550a, 16 byte fifo
pckbc0 at isa0 port 0x60/5
pckbd0 at pckbc0 (kbd slot)
pckbc0: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard
pcppi0 at isa0 port 0x61
midi0 at pcppi0:
spkr0 at pcppi0
nsclpcsio0 at isa0 port 0x2e/2: NSC PC87366 rev 9: GPIO VLM TMS
gpio1 at nsclpcsio0: 29 pins
npx0 at isa0 port 0xf0/16: reported by CPUID; using exception 16
usb1 at ohci0: USB revision 1.0
uhub1 at usb1 "AMD OHCI root hub" rev 1.00/1.00 addr 1
biomask e1c5 netmask ffe5 ttymask ffff
mtrr: K6-family MTRR support (2 registers)
vscsi0 at root
scsibus0 at vscsi0: 256 targets
softraid0 at root
root on wd0a swap on wd0b dump on wd0b
syncing disks... done
OpenBSD 4.6-current (GENERIC) #123: Sat Aug 22 14:20:26 MDT 2009
deraadt@i386.openbsd.org:/usr/src/sys/arch/i386/compile/GENERIC
cpu0: Geode(TM) Integrated Processor by AMD PCS ("AuthenticAMD" 586-class) 500 MHz
cpu0: FPU,DE,PSE,TSC,MSR,CX8,SEP,PGE,CMOV,CFLUSH,MMX
real mem = 536440832 (511MB)
avail mem = 510943232 (487MB)
mainbus0 at root
bios0 at mainbus0: AT/286+ BIOS, date 20/70/03, BIOS32 rev. 0 @ 0xfac40
pcibios0 at bios0: rev 2.0 @ 0xf0000/0x10000
pcibios0: pcibios_get_intr_routing - function not supported
pcibios0: PCI IRQ Routing information unavailable.
pcibios0: PCI bus #0 is the last bus
bios0: ROM list: 0xc8000/0xa800
cpu0 at mainbus0: (uniprocessor)
amdmsr0 at mainbus0
pci0 at mainbus0 bus 0: configuration mode 1 (bios)
io address conflict 0x6100/0x100
io address conflict 0x6200/0x200
pchb0 at pci0 dev 1 function 0 "AMD Geode LX" rev 0x33
glxsb0 at pci0 dev 1 function 2 "AMD Geode LX Crypto" rev 0x00: RNG AES
vr0 at pci0 dev 6 function 0 "VIA VT6105M RhineIII" rev 0x96: irq 11, address 00:00:24:cb:a9:24
ukphy0 at vr0 phy 1: Generic IEEE 802.3u media interface, rev. 3: OUI 0x004063, model 0x0034
vr1 at pci0 dev 7 function 0 "VIA VT6105M RhineIII" rev 0x96: irq 5, address 00:00:24:cb:a9:25
ukphy1 at vr1 phy 1: Generic IEEE 802.3u media interface, rev. 3: OUI 0x004063, model 0x0034
vr2 at pci0 dev 8 function 0 "VIA VT6105M RhineIII" rev 0x96: irq 9, address 00:00:24:cb:a9:26
ukphy2 at vr2 phy 1: Generic IEEE 802.3u media interface, rev. 3: OUI 0x004063, model 0x0034
vr3 at pci0 dev 9 function 0 "VIA VT6105M RhineIII" rev 0x96: irq 12, address 00:00:24:cb:a9:27
ukphy3 at vr3 phy 1: Generic IEEE 802.3u media interface, rev. 3: OUI 0x004063, model 0x0034
re0 at pci0 dev 14 function 0 "Realtek 8139" rev 0x20: RTL8139C+ (0x7480), irq 10, address 00:0a:fa:20:03:79
rlphy0 at re0 phy 0: RTL internal PHY
glxpcib0 at pci0 dev 20 function 0 "AMD CS5536 ISA" rev 0x03: rev 0, 32-bit 3579545Hz timer, watchdog, gpio
gpio0 at glxpcib0: 32 pins
pciide0 at pci0 dev 20 function 2 "AMD CS5536 IDE" rev 0x01: DMA, channel 0 wired to compatibility, channel 1 wired to compatibility
wd0 at pciide0 channel 0 drive 0:
wd0: 4-sector PIO, LBA, 3919MB, 8027712 sectors
wd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 2
pciide0: channel 1 ignored (disabled)
ohci0 at pci0 dev 21 function 0 "AMD CS5536 USB" rev 0x02: irq 15, version 1.0, legacy support
ehci0 at pci0 dev 21 function 1 "AMD CS5536 USB" rev 0x02: irq 15
usb0 at ehci0: USB revision 2.0
uhub0 at usb0 "AMD EHCI root hub" rev 2.00/1.00 addr 1
isa0 at glxpcib0
isadma0 at isa0
com0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
com0: console
com1 at isa0 port 0x2f8/8 irq 3: ns16550a, 16 byte fifo
pckbc0 at isa0 port 0x60/5
pckbd0 at pckbc0 (kbd slot)
pckbc0: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard
pcppi0 at isa0 port 0x61
midi0 at pcppi0:
spkr0 at pcppi0
nsclpcsio0 at isa0 port 0x2e/2: NSC PC87366 rev 9: GPIO VLM TMS
gpio1 at nsclpcsio0: 29 pins
npx0 at isa0 port 0xf0/16: reported by CPUID; using exception 16
usb1 at ohci0: USB revision 1.0
uhub1 at usb1 "AMD OHCI root hub" rev 1.00/1.00 addr 1
biomask e1c5 netmask ffe5 ttymask ffff
mtrr: K6-family MTRR support (2 registers)
vscsi0 at root
scsibus0 at vscsi0: 256 targets
softraid0 at root
root on wd0a swap on wd0b dump on wd0b
umass0 at uhub0 port 1 configuration 1 interface 0 "Genesys USB Reader" rev 2.00/94.07 addr 2
umass0: using SCSI over Bulk-Only
scsibus1 at umass0: 2 targets, initiator 0
sd0 at scsibus1 targ 1 lun 0: SCSI0 0/direct removable
sd0: 3886MB, 512 bytes/sec, 7959552 sec total
syncing disks... done
OpenBSD 4.6-current (RAMDISK_CD) #101: Tue Aug 25 06:28:11 MDT 2009
deraadt@i386.openbsd.org:/usr/src/sys/arch/i386/compile/RAMDISK_CD
cpu0: Geode(TM) Integrated Processor by AMD PCS ("AuthenticAMD" 586-class) 500 MHz
cpu0: FPU,DE,PSE,TSC,MSR,CX8,SEP,PGE,CMOV,CFLUSH,MMX
real mem = 536440832 (511MB)
avail mem = 512651264 (488MB)
mainbus0 at root
bios0 at mainbus0: AT/286+ BIOS, date 20/70/03, BIOS32 rev. 0 @ 0xfac40
pcibios0 at bios0: rev 2.0 @ 0xf0000/0x10000
pcibios0: pcibios_get_intr_routing - function not supported
pcibios0: PCI IRQ Routing information unavailable.
pcibios0: PCI bus #0 is the last bus
bios0: ROM list: 0xc8000/0xa800
cpu0 at mainbus0: (uniprocessor)
pci0 at mainbus0 bus 0: configuration mode 1 (bios)
io address conflict 0x6100/0x100
io address conflict 0x6200/0x200
pchb0 at pci0 dev 1 function 0 "AMD Geode LX" rev 0x33
"AMD Geode LX Crypto" rev 0x00 at pci0 dev 1 function 2 not configured
vr0 at pci0 dev 6 function 0 "VIA VT6105M RhineIII" rev 0x96: irq 11, address 00:00:24:cb:a9:24
ukphy0 at vr0 phy 1: Generic IEEE 802.3u media interface, rev. 3: OUI 0x004063, model 0x0034
vr1 at pci0 dev 7 function 0 "VIA VT6105M RhineIII" rev 0x96: irq 5, address 00:00:24:cb:a9:25
ukphy1 at vr1 phy 1: Generic IEEE 802.3u media interface, rev. 3: OUI 0x004063, model 0x0034
vr2 at pci0 dev 8 function 0 "VIA VT6105M RhineIII" rev 0x96: irq 9, address 00:00:24:cb:a9:26
ukphy2 at vr2 phy 1: Generic IEEE 802.3u media interface, rev. 3: OUI 0x004063, model 0x0034
vr3 at pci0 dev 9 function 0 "VIA VT6105M RhineIII" rev 0x96: irq 12, address 00:00:24:cb:a9:27
ukphy3 at vr3 phy 1: Generic IEEE 802.3u media interface, rev. 3: OUI 0x004063, model 0x0034
re0 at pci0 dev 14 function 0 "Realtek 8139" rev 0x20: RTL8139C+ (0x7480), irq 10, address 00:0a:fa:20:03:79
rlphy0 at re0 phy 0: RTL internal PHY
glxpcib0 at pci0 dev 20 function 0 "AMD CS5536 ISA" rev 0x03: rev 0, 32-bit 3579545Hz timer
pciide0 at pci0 dev 20 function 2 "AMD CS5536 IDE" rev 0x01: DMA, channel 0 wired to compatibility, channel 1 wired to compatibility
wd0 at pciide0 channel 0 drive 0:
wd0: 4-sector PIO, LBA, 3919MB, 8027712 sectors
wd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 2
pciide0: channel 1 ignored (disabled)
ohci0 at pci0 dev 21 function 0 "AMD CS5536 USB" rev 0x02: irq 15, version 1.0, legacy support
ehci0 at pci0 dev 21 function 1 "AMD CS5536 USB" rev 0x02: irq 15
usb0 at ehci0: USB revision 2.0
uhub0 at usb0 "AMD EHCI root hub" rev 2.00/1.00 addr 1
isa0 at glxpcib0
isadma0 at isa0
com0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
com0: console
com1 at isa0 port 0x2f8/8 irq 3: ns16550a, 16 byte fifo
pckbc0 at isa0 port 0x60/5
pckbd0 at pckbc0 (kbd slot)
pckbc0: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard
npx0 at isa0 port 0xf0/16: reported by CPUID; using exception 16
usb1 at ohci0: USB revision 1.0
uhub1 at usb1 "AMD OHCI root hub" rev 1.00/1.00 addr 1
biomask e1c5 netmask ffe5 ttymask ffff
rd0: fixed, 3800 blocks
umass0 at uhub0 port 1 configuration 1 interface 0 "Genesys USB Reader" rev 2.00/94.07 addr 2
umass0: using SCSI over Bulk-Only
scsibus0 at umass0: 2 targets, initiator 0
sd0 at scsibus0 targ 1 lun 0: SCSI0 0/direct removable
sd0: 3886MB, 512 bytes/sec, 7959552 sec total
softraid0 at root
root on rd0a swap on rd0b dump on rd0b
syncing disks...
OpenBSD 4.6-current (GENERIC) #125: Tue Aug 25 06:13:48 MDT 2009
deraadt@i386.openbsd.org:/usr/src/sys/arch/i386/compile/GENERIC
cpu0: Geode(TM) Integrated Processor by AMD PCS ("AuthenticAMD" 586-class) 500 MHz
cpu0: FPU,DE,PSE,TSC,MSR,CX8,SEP,PGE,CMOV,CFLUSH,MMX
real mem = 536440832 (511MB)
avail mem = 510947328 (487MB)
mainbus0 at root
bios0 at mainbus0: AT/286+ BIOS, date 20/70/03, BIOS32 rev. 0 @ 0xfac40
pcibios0 at bios0: rev 2.0 @ 0xf0000/0x10000
pcibios0: pcibios_get_intr_routing - function not supported
pcibios0: PCI IRQ Routing information unavailable.
pcibios0: PCI bus #0 is the last bus
bios0: ROM list: 0xc8000/0xa800
cpu0 at mainbus0: (uniprocessor)
amdmsr0 at mainbus0
pci0 at mainbus0 bus 0: configuration mode 1 (bios)
io address conflict 0x6100/0x100
io address conflict 0x6200/0x200
pchb0 at pci0 dev 1 function 0 "AMD Geode LX" rev 0x33
glxsb0 at pci0 dev 1 function 2 "AMD Geode LX Crypto" rev 0x00: RNG AES
vr0 at pci0 dev 6 function 0 "VIA VT6105M RhineIII" rev 0x96: irq 11, address 00:00:24:cb:a9:24
ukphy0 at vr0 phy 1: Generic IEEE 802.3u media interface, rev. 3: OUI 0x004063, model 0x0034
vr1 at pci0 dev 7 function 0 "VIA VT6105M RhineIII" rev 0x96: irq 5, address 00:00:24:cb:a9:25
ukphy1 at vr1 phy 1: Generic IEEE 802.3u media interface, rev. 3: OUI 0x004063, model 0x0034
vr2 at pci0 dev 8 function 0 "VIA VT6105M RhineIII" rev 0x96: irq 9, address 00:00:24:cb:a9:26
ukphy2 at vr2 phy 1: Generic IEEE 802.3u media interface, rev. 3: OUI 0x004063, model 0x0034
vr3 at pci0 dev 9 function 0 "VIA VT6105M RhineIII" rev 0x96: irq 12, address 00:00:24:cb:a9:27
ukphy3 at vr3 phy 1: Generic IEEE 802.3u media interface, rev. 3: OUI 0x004063, model 0x0034
re0 at pci0 dev 14 function 0 "Realtek 8139" rev 0x20: RTL8139C+ (0x7480), irq 10, address 00:0a:fa:20:03:79
rlphy0 at re0 phy 0: RTL internal PHY
glxpcib0 at pci0 dev 20 function 0 "AMD CS5536 ISA" rev 0x03: rev 0, 32-bit 3579545Hz timer, watchdog, gpio
gpio0 at glxpcib0: 32 pins
pciide0 at pci0 dev 20 function 2 "AMD CS5536 IDE" rev 0x01: DMA, channel 0 wired to compatibility, channel 1 wired to compatibility
wd0 at pciide0 channel 0 drive 0:
wd0: 4-sector PIO, LBA, 3919MB, 8027712 sectors
wd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 2
pciide0: channel 1 ignored (disabled)
ohci0 at pci0 dev 21 function 0 "AMD CS5536 USB" rev 0x02: irq 15, version 1.0, legacy support
ehci0 at pci0 dev 21 function 1 "AMD CS5536 USB" rev 0x02: irq 15
usb0 at ehci0: USB revision 2.0
uhub0 at usb0 "AMD EHCI root hub" rev 2.00/1.00 addr 1
isa0 at glxpcib0
isadma0 at isa0
com0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
com0: console
com1 at isa0 port 0x2f8/8 irq 3: ns16550a, 16 byte fifo
pckbc0 at isa0 port 0x60/5
pckbd0 at pckbc0 (kbd slot)
pckbc0: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard
pcppi0 at isa0 port 0x61
midi0 at pcppi0:
spkr0 at pcppi0
nsclpcsio0 at isa0 port 0x2e/2: NSC PC87366 rev 9: GPIO VLM TMS
gpio1 at nsclpcsio0: 29 pins
npx0 at isa0 port 0xf0/16: reported by CPUID; using exception 16
usb1 at ohci0: USB revision 1.0
uhub1 at usb1 "AMD OHCI root hub" rev 1.00/1.00 addr 1
biomask e1c5 netmask ffe5 ttymask ffff
mtrr: K6-family MTRR support (2 registers)
umass0 at uhub0 port 1 configuration 1 interface 0 "Genesys USB Reader" rev 2.00/94.07 addr 2
umass0: using SCSI over Bulk-Only
scsibus0 at umass0: 2 targets, initiator 0
sd0 at scsibus0 targ 1 lun 0: SCSI0 0/direct removable
sd0: 3886MB, 512 bytes/sec, 7959552 sec total
vscsi0 at root
scsibus1 at vscsi0: 256 targets
softraid0 at root
root on wd0a swap on wd0b dump on wd0b
| PC Serial Port Connections | |||
|---|---|---|---|
| JP2 Header Connections | SIGNAL | DB-9 Pin | DB-25 Pin |
| OUT | RD | 3 | 3 |
| GND | GND | 5 | 7 |
| IN | TD | 2 | 2 |
Only three sets are installed, plus the obligatory kernels.
Kernel tuning:
dmassage -f /bsd | config -e -o /nbsd /bsd && mv /bsd /obsd && mv /nbsd /bsd
The root partition must created with a bit over 45 MB for OpenBSD 4.6-current as of Sept 2009, if there is to be room for a spare kernel.
Select sets by entering a set name, a file name pattern or 'all'. De-select
sets by prepending a '-' to the set name, file name pattern or 'all'. Selected
sets are labelled '[X]'.
[X] bsd [X] misc46.tgz [ ] game46.tgz [ ] xfont46.tgz
[X] bsd.rd [ ] comp46.tgz [ ] xbase46.tgz [ ] xserv46.tgz
[X] base46.tgz [X] man46.tgz [ ] xshare46.tgz
With the goal to have as much of the filesystem mounted read-only as possible, I've put
/, /home, /usr, /var, and /dev into different slices.
/dev, /tmp, and /var must be rw!
/dev can be mounted in RAM using MFS, /var can be given its own slice.
The problem of /tmp can be solved by symlinkng it to a directory on /var.
e.g.
lrwxr-x--- 1 root wheel 14 Aug 28 11:56 tmp -> /var/roottemp/
# cat /etc/fstab /dev/wd0a / ffs ro 1 1 /dev/wd0e /home ffs rw,nodev,nosuid,noexec 1 2 /dev/wd0d /usr ffs ro,nodev 1 2 /dev/wd0f /var ffs rw,nodev,nosuid 1 2 swap /dev mfs rw,-P=/templates/dev.base,-s=3000,-i=1024 0 0 swap /etc mfs rw,nodev,noexec,-P=/templates/etc.base,-s=8556,-c=1200,-i=8192 0 0
# mount /dev/wd0a on / type ffs (local, read-only) /dev/wd0e on /home type ffs (local, nodev, noexec, nosuid) /dev/wd0d on /usr type ffs (local, nodev, read-only) /dev/wd0f on /var type ffs (local, nodev, nosuid) mfs:4964 on /dev type mfs (asynchronous, local, size=3000 512-blocks) mfs:1479 on /etc type mfs (asynchronous, local, nodev, noexec, size=8556 512-blocks)
The /usr slice needs to be created at least 220 MB large to accomodate the material I have chosen from ports.
# df -hi Filesystem Size Used Avail Capacity iused ifree %iused Mounted on /dev/wd0a 42.2M 36.6M 3.6M 91% 3723 3315 53% / /dev/wd0e 7.6M 38.0K 7.2M 1% 22 1000 2% /home /dev/wd0d 217M 190M 15.6M 92% 12378 16292 43% /usr /dev/wd0f 3.3G 2.1G 1.0G 67% 21370 420356 5% /var mfs:4964 1.1M 37.0K 1.0M 3% 1527 391 80% /dev mfs:21598 4.0M 3.4M 425K 89% 262 504 34% /etc
Mon Aug 24 10:44:10 EEST 2009