Go Back   DaemonForums > NetBSD > NetBSD Installation and Upgrading

NetBSD Installation and Upgrading Have trouble getting NetBSD on your toaster?

Thread Tools Display Modes
  #1   (View Single Post)  
Old 17th September 2010
bamdad's Avatar
bamdad bamdad is offline
Port Guard
Join Date: Sep 2010
Location: budapest
Posts: 17
Default Thinkpad nvram in NetBSD

hi everybody,

this is my very first post, so please go easy on me.

i've installed NetBSD on my Thinkpad T42. i managed to get everything working (even suspend/resume and radeondrm after compiling a new kernel). there are some things that i miss from Linux, though. (i'm not a great fan of Linux, but it has pretty good support for my laptop, so please don't judge me. these are: APM (protection system for the hard drive), being able to manually set fan speeds, Synaptics touchpad support, and the hotkeys.

i understand that even though there is some experimental support for the Thinkpad motion sensors, it's not fully implemented, and there's no userspace stuff to control it (e.g. hdapsd).

i'm also pretty sure that there's no way of manually setting fan speeds, and that there are no Synaptics drivers for NetBSD.

my question is: is there a kernel module specifically for the IBM ACPI, like ibm_acpi.ko in FreeBSD, which would allow me to use the Fn+X hotkeys? if so, where is it? how do i install it? how do i load it?

sorry for these noob-ish questions, i'm mainly used to Linux and Solaris, i have no real experience with BSDs.

Reply With Quote
  #2   (View Single Post)  
Old 17th September 2010
bamdad's Avatar
bamdad bamdad is offline
Port Guard
Join Date: Sep 2010
Location: budapest
Posts: 17

whoa, forgot to turn off the smileys and i can't edit the post. must be because i'm a new user. well, anyway, sorry for the looks. ;)
Reply With Quote
  #3   (View Single Post)  
Old 17th September 2010
Pjoter's Avatar
Pjoter Pjoter is offline
Shell Scout
Join Date: Sep 2008
Posts: 92


NetBSD does support modules but not everything is available/build as module contrary to FreeBSD- you have to compile your own kernel. I attach my config of NetBSD kernel I used up to version 5.99.24 if I remember. Config was for T61 Thinkpad.

The kernel driver for thinkpad support:

thinkpad*	at acpi? # IBM/Lenovo Thinkpad hotkeys
Synaptics works:

options 	PMS_SYNAPTICS_TOUCHPAD	# Enable support for Synaptics Touchpads
Fan I don't know- I didn't really want to set the speed- on T61 fan was quite quiet.

The motion sensor is available:

aps0 at isa? port 0x1600
Please also read here about aps: http://netbsd.gw.com/cgi-bin/man-cgi?aps+4+NetBSD-5.0

If I could tell you something about NetBSD support for Thinkapd is that almost all is supported well: function keys, audio keys, docking station, audio card, wireless (only intel3945 gave some problems), sd card reader, suspend/resume works but not in every case (bluetooth devices, aps, usb audio devices and built in sd card reader disallow suspend- perhaps something changed in the most current branch).

Apart that I have never had any other problems with NetBSD.

include 	"arch/i386/conf/std.i386"
options 	INCLUDE_CONFIG_FILE	# embed config file in kernel binary
ident 		"Guusje"
maxusers	32		# estimated number of users
options 	VM86		# virtual 8086 emulation
options 	USER_LDT	# user-settable LDT; used by WINE
options 	EST_FREQ_USERWRITE	# any user can set frequency
options 	MTRR		# memory-type range register syscall support
options 	PERFCTRS	# performance-monitoring counters support
options 	MULTIBOOT	# Multiboot support (see multiboot(8))
options 	INSECURE	# disable kernel security levels - X needs this
options 	RTC_OFFSET=0	# hardware clock is this many mins. west of GMT
options 	NTP		# NTP phase/frequency locked loop
options 	APM_NO_IDLE	# needed for SMP
options 	KTRACE		# system call tracing via ktrace(1)
options 	SYSVMSG		# System V-like message queues
options 	SYSVSEM		# System V-like semaphores
options 	SEMMNI=10	# number of semaphore identifiers
options 	SEMMNS=60	# number of semaphores in system
options 	SEMUME=10	# max number of undo entries per process
options 	SEMMNU=30	# number of undo structures in system
options 	SYSVSHM		# System V-like memory sharing
options 	SHMMAXPGS=2048	# 2048 pages is the default
options 	P1003_1B_SEMAPHORE	# p1003.1b semaphore support
options 	MODULAR		# new modules framework
options 	USERCONF	# userconf(4) support
options 	SYSCTL_INCLUDE_DESCR	# Include sysctl descriptions in kernel
options 	COMPAT_NOMID	# NetBSD 0.8, 386BSD, and BSDI
options		COMPAT_43
options 	COMPAT_LINUX	# binary compatibility with Linux
options 	COMPAT_BSDPTY	# /dev/[pt]ty?? ptys.
options 	X86EMU		# 386 Real Mode emulator
file-system 	FFS		# UFS
file-system 	EXT2FS		# second extended file system (linux)
file-system 	MFS		# memory file system
file-system 	CD9660		# ISO 9660 + Rock Ridge file system
file-system 	MSDOSFS		# MS-DOS file system
file-system 	NFS		# Network File System client
file-system 	KERNFS		# /kern
file-system 	NULLFS		# loopback file system
file-system 	PROCFS		# /proc
file-system 	SYSVBFS		# System V boot file system
file-system 	PTYFS		# /dev/ptm support
file-system 	TMPFS		# Efficient memory file-system
file-system 	PUFFS		# experimental - Userspace file system support
options 	WAPBL		# File system journaling support - Experimental
options 	NFSSERVER	# Network File System server
options 	GATEWAY		# packet forwarding
options 	INET		# IP + ICMP + TCP + UDP
options 	INET6		# IPV6
options 	PPP_BSDCOMP	# BSD-Compress compression support for PPP
options 	PPP_DEFLATE	# Deflate compression support for PPP
options 	PPP_FILTER	# Active filter support for PPP (requires bpf)
options 	PFIL_HOOKS	# pfil(9) packet filter hooks
options 	IPFILTER_LOG	# ipmon(8) log support
options 	IPFILTER_LOOKUP	# ippool(8) support
options 	ACPIVERBOSE	# verbose ACPI device autoconfig messages
options 	MIIVERBOSE	# verbose PHY autoconfig messages
options 	PCIVERBOSE	# verbose PCI device autoconfig messages
options 	PCMCIAVERBOSE	# verbose PCMCIA configuration messages
options 	SCSIVERBOSE	# human readable SCSI error messages
options 	USBVERBOSE	# verbose USB device autoconfig messages
options		I2C_SCAN	# Scan i2c bus for responses
options 	WSEMUL_VT100		# VT100 / VT220 emulation
options 	WSDISPLAY_CUSTOM_OUTPUT	# color customization from wsconsctl(8)
options 	WS_DEFAULT_COLATTR="(0)"
options 	WS_DEFAULT_MONOATTR="(0)"
options 	WS_KERNEL_COLATTR="(0)"
options 	WS_KERNEL_MONOATTR="(0)"
options 	WSDISPLAY_CUSTOM_BORDER	# custom border colors via wsconsctl(8)
options 	WSDISPLAY_BORDER_COLOR=WSCOL_BLUE	# default color
options 	WSDISPLAY_COMPAT_PCVT		# emulate some ioctls
options 	WSDISPLAY_COMPAT_SYSCONS	# emulate some ioctls
options 	WSDISPLAY_COMPAT_USL		# VT handling
options 	WSDISPLAY_COMPAT_RAWKBD		# can get raw scancodes
options 	VGA_CONSOLE_SCREENTYPE="\"80x24\""
options 	VGA_POST
config		netbsd	root on ? type ?
apm0	at mainbus0			# Advanced power management
options 	APM_POWER_PRINT		# Print stats on the console
options 	APM_DISABLE_INTERRUPTS=0 # Don't disable interrupts
options 	MPBIOS_SCANPCI	# find PCI roots using MPBIOS
options 	ACPI_SCANPCI	# find PCI roots using ACPI
ipmi0		at mainbus?
acpi0 		at mainbus0
options 	ACPI_ACTIVATE_DEV	# If set, activate inactive devices
options 	ACPICA_PEDANTIC		# force strict conformance to the Spec.
apm*		at acpi?
acpiacad* 	at acpi?		# ACPI AC Adapter
acpibat* 	at acpi?		# ACPI Battery
acpibut* 	at acpi?		# ACPI Button
acpiec* 	at acpi?		# ACPI Embedded Controller (late binding)
acpiecdt* 	at acpi?		# ACPI Embedded Controller (early binding)
acpilid* 	at acpi?		# ACPI Lid Switch
acpitz* 	at acpi?		# ACPI Thermal Zone
acpidalb*	at acpi?
acpiwmi*	at acpi?
attimer*	at acpi?		# AT Timer
hpet* 		at acpi?		# High Precision Event Timer
npx*		at acpi?		# Math coprocessor
pckbc*  	at acpi?		# PC keyboard controller
thinkpad*	at acpi?		# IBM/Lenovo Thinkpad hotkeys
wb*		at acpi?
sdmmc*		at wb?
pci*	at mainbus? bus ?
pci*	at pchb? bus ?
options 	PCIBIOS			# PCI BIOS support
options 	PCIBIOSVERBOSE		# PCI BIOS verbose info
options 	PCIBIOS_IRQS_HINT=0x0a00 # PCI interrupts hint. IRQ 9 or 11
options 	PCIBIOS_INTR_GUESS	# see pcibios(4)
options 	PCI_ADDR_FIXUP		# fixup PCI I/O addresses
options 	PCI_BUS_FIXUP		# fixup PCI bus numbering
options 	PCI_INTR_FIXUP		# fixup PCI interrupt routing
ichlpcib* at pci? dev ? function ?	# Intel ICH PCI-ISA w/ watchdog and
hpet0 		at ichlpcib?		# High Precision Event Timer
pchb*	at pci? dev ? function ?	# PCI-Host bridges
pcib*	at pci? dev ? function ?	# PCI-ISA bridges
ppb*	at pci? dev ? function ?	# PCI-PCI bridges
agp* 	at pchb?
isa0	at ichlpcib?
cbb*		at pci? dev ? function ?
cardslot*	at cbb?
cardbus*	at cardslot?
pcmcia* 	at cardslot?
pckbd*		at pckbc?		# PC keyboard
pms*		at pckbc?		# PS/2 mouse for wsmouse
options 	PMS_SYNAPTICS_TOUCHPAD	# Enable support for Synaptics Touchpads
#vga*		at pci? dev ? function ?
#wsdisplay*	at vga? console ?
wskbd*		at pckbd? console ?
wsmouse*	at pms? mux 0
#i915drm*	at vga?		# Intel i915, i945 DRM driver
genfb*		at pci?	dev ? function ?
wsdisplay*	at genfb? console ?
i915drm*	at genfb?
ichsmb*	at pci? dev ? function ?
iic*	at ichsmb?
scsibus* at scsi?
sd*	at scsibus? target ? lun ?	# SCSI disk drives
uk*	at scsibus? target ? lun ?	# SCSI unknown
piixide* 	at pci? dev ? function ?	# Intel IDE controllers
atabus* at ata?
atapibus* at atapi?
wd*     at atabus? drive ? flags 0x0000
cd*	at atapibus? drive ? flags 0x0000	# ATAPI CD-ROM drives
sd*	at atapibus? drive ? flags 0x0000	# ATAPI disk drives
uk*	at atapibus? drive ? flags 0x0000	# ATAPI unknown
wm*	at pci? dev ? function ?	# Intel 8254x gigabit
wpi*	at pci? dev ? function ?	# Intel PRO/Wireless 3945ABG
igphy*	at mii? phy ?			# Intel IGP01E1000
ukphy*	at mii? phy ?			# generic unknown PHYs
ehci*	at pci?	dev ? function ?	# Enhanced Host Controller
uhci*	at pci?	dev ? function ?	# Universal Host Controller (Intel)
usb*	at ehci?
usb*	at uhci?
uhub*	at usb?
uhub*	at uhub? port ?
uhidev*	at uhub? port ? configuration ? interface ?
ums*	at uhidev? reportid ?
wsmouse* at ums? mux 0
ukbd*	at uhidev? reportid ?
wskbd*	at ukbd? console ? mux 1
uhid*	at uhidev? reportid ?
ulpt*	at uhub? port ? configuration ? interface ?
umass*	at uhub? port ? configuration ? interface ?
wd*	at umass?
uaudio*	at uhub? port ? configuration ?
ugen*	at uhub? port ?
fwohci*	at pci? dev ? function ?	# IEEE1394 Open Host Controller
fwohci*	at cardbus? function ?	# IEEE1394 Open Host Controller
ieee1394if* at fwohci?
fwip*	at ieee1394if?			# IP over IEEE1394
sbp*	at ieee1394if? euihi ? euilo ?	# SCSI over IEEE1394
sdhc*	at pci?
sdmmc*	at sdhc?
ld*	at sdmmc?
hdaudio*	at pci? dev ? function ?
hdafg*		at hdaudiobus?
audio*	at audiobus?
uvideo* at uhub?		# USB Video Class capture devices
video* at videobus?
ubt* at uhub? port ?
bthub* at bcsp?
bthub* at btuart?
bthub* at ubt?
bthub*	at sbt?
bthidev* at bthub?
btms* at bthidev? reportid ?
wsmouse* at btms? mux 0
btkbd* at bthidev? reportid ?
wskbd* at btkbd? console ? mux 1
sbt*	at sdmmc?
pseudo-device 	crypto		# /dev/crypto device
pseudo-device	swcrypto	# software crypto implementation
pseudo-device	ccd		4	# concatenated/striped disk devices
pseudo-device	cgd		4	# cryptographic disk devices
pseudo-device	fss		4	# file system snapshot device
pseudo-device	md		1	# memory disk device (ramdisk)
options         MEMORY_DISK_HOOKS       # enable root ramdisk
options         MEMORY_DISK_DYNAMIC     # loaded via kernel module
pseudo-device	vnd			# disk-like interface to files
options 	VND_COMPRESSION		# compressed vnd(4)
pseudo-device	bpfilter		# Berkeley packet filter
pseudo-device	ipfilter		# IP filter (firewall) and NAT
pseudo-device	loop			# network loopback
pseudo-device	ppp			# Point-to-Point Protocol
pseudo-device	pppoe			# PPP over Ethernet (RFC 2516)
pseudo-device	tap			# virtual Ethernet
pseudo-device	bridge			# simple inter-network bridging
options 	BRIDGE_IPF		# bridge uses IP/IPv6 pfil hooks too
pseudo-device	pf			# PF packet filter
pseudo-device	pflog			# PF log if
pseudo-device	pty			# pseudo-terminals
pseudo-device	rnd			# /dev/random and in-kernel generator
pseudo-device	clockctl		# user control of clock subsystem
pseudo-device	ksyms			# /dev/ksyms
pseudo-device	bcsp			# BlueCore Serial Protocol
pseudo-device	btuart			# Bluetooth HCI UART (H4)
pseudo-device	wsmux			# mouse & keyboard multiplexor
pseudo-device	wsfont
options 	FILEASSOC		# fileassoc(9) - required for Veriexec
pseudo-device	veriexec
pseudo-device	drvctl
pseudo-device	swwdog
pseudo-device	cmos
pseudo-device	putter
pseudo-device	pud
pseudo-device	pad
options PAX_MPROTECT=0			# PaX mprotect(2) restrictions
options PAX_SEGVGUARD=0			# PaX Segmentation fault guard
options PAX_ASLR=0			# PaX Address Space Layout Randomization
Goodluck !

Reply With Quote
  #4   (View Single Post)  
Old 17th September 2010
bamdad's Avatar
bamdad bamdad is offline
Port Guard
Join Date: Sep 2010
Location: budapest
Posts: 17

thank you for this in-depth and to the point reply. i'll be sure to look into it. i have to say, i'm loving NetBSD more and more.

sadly, it seems that the aps has no real function beside maybe monitoring the sensors. (from the manual: CAVEATS: The aps driver does not yet maintain state and subsequently does not take evasive action when it thinks the hard drive is in danger.)

now off to compiling. :)

thanks again,
Reply With Quote
  #5   (View Single Post)  
Old 17th September 2010
Pjoter's Avatar
Pjoter Pjoter is offline
Shell Scout
Join Date: Sep 2008
Posts: 92


I have never used aps

And good luck with compiling- I compiled enough in my life

Reply With Quote
  #6   (View Single Post)  
Old 18th September 2010
bamdad's Avatar
bamdad bamdad is offline
Port Guard
Join Date: Sep 2010
Location: budapest
Posts: 17

strange.. i've used the GENERIC as a default template, which has the 'thinkpad* at acpi?' option enabled by default. but if i try to use tpb, it says '/dev/nvram' doesn't exist. am i missing something? should i mknod it?

(synaptics touchpad is also enabled by default, and i can't scroll, but i think that can be remedied by editing the xorg.conf or something).
Reply With Quote

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
ThinkPad X301 / OpenBSD DraconianTimes OpenBSD General 8 8th February 2010 04:30 PM
Thinkpad boot screen Carpetsmoker Off-Topic 6 21st September 2009 05:11 PM
Freebsd on IBM Thinkpad X40 /w ultrabase Adakite FreeBSD Installation and Upgrading 1 23rd June 2009 04:56 PM
IBM ThinkPad G40? Sunnz General Hardware 8 28th July 2008 01:41 AM
FreeBSD on IBM ThinkPad 600 steve_s FreeBSD Installation and Upgrading 1 20th May 2008 04:23 PM

All times are GMT. The time now is 10:18 AM.

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Content copyright © 2007-2010, the authors
Daemon image copyright ©1988, Marshall Kirk McKusick