Apple Powerbook 3400 240MHz

As I don't have my 3400 anymore, some of the information is outdated or missing. My Apple Powerbook 3400 was running Gentoo Linux (PPC) 1.4 and kernel 2.4.19. Here I describe the hardware and how I got it working. For information about other of Apple's Powerbooks see: TuxMobil - Linux on laptops, notebooks, PDAs, mobile phones
[ Top | Bottom ]

Motorola PPC603ev 240MHz

Not much to say, and no known problems.
[ Top | Bottom ]

3400 Motherboard

The motherboard is a Apple AAPL,3400 MacRISC (Oldworld), with 80MB ram.

Integrated 16Bit stereo sound

I have compile sound support as a module
CONFIG_DMASOUND=m
Code listing 3.1
Then I have added the module to /etc/modules.conf:
alias sound-slot-0 dmasound_pmac
alias sound-slot-1 dmasound_pmac
alias sound-service-0-0 dmasound_pmac
alias sound-service-0-3 dmasound_pmac
alias sound-service-1-0 dmasound_pmac
Code listing 3.2
So if I want to enable sound I just type, modprobe dmasound as root.

If you want to play audio CDs you need the xmms cd play plugin (it uses digital playback).

[ Top | Bottom ]

Chips & Technologies 65550 1MB

A simple Chips & Technologies 65550 1MB is used in the 3400, see my monitor section for information on configuring the xserver.
[ Top | Bottom ]

12.1" LCD display

The "active matrix" screen is capable of 800x600 in 16bit color. If you use XFree86 version 4.2 you have to use the "fbdev" driver. Here is the complete XF86Config-4 file.
Section "Monitor"
	Identifier	"Monitor0"
	VendorName	"Unknown"
	ModelName	"Unknown"
	HorizSync	 119
	VertRefresh	 196
EndSection

Section "Device"
	Identifier "Card0"
	Driver "fbdev"
EndSection
Code listing 5.1
In XFree86 version 4.3 there is an accelerated driver available. Here is the complete XF86Config-4 file. Thanks to the people who reported this :), you can find the author who ported the driver here.
Section "Monitor"
	Identifier   "Monitor0"
	UseModes     "Modes0"
	VendorName   "Monitor Vendor"
	ModelName    "Monitor Model"
	HorizSync       28-50
	VertRefresh     43-75
EndSection

Section "Modes"
        Identifier      "Modes0"
	# 800x600 @ 56 Hz, 35.15 kHz hsync
	ModeLine "800x600"     36     800  824  896 1024   600  601  603  625
	# 800x600 @ 60 Hz, 37.8 kHz hsync
	Modeline "800x600"     40     800  840  968 1056   600  601  605  628 +hsync +vsync
	Modeline "800x600" 100.000 800 816 824 840  600 616 624 640  -HSync -VSync
EndSection

Section "Device"
	Identifier  "Card0"
	Driver      "chips"
	VendorName  "C&T"
	BoardName   "65550"
	BusID       "PCI:0:17:0"
EndSection
Code listing 5.2
Use fblevel or Powerprefs to adjust brightness.

It is not possible to connect an external monitor to the VGA port, because Linux does not support it.

[ Top | Bottom ]

Network/Modem

Integrated 10Mbit Ethernet

The network card uses a "Tulip DEC DC21041 (rev 17)" chip. I had some problems with 2.4 kernels using the wrong driver, which results in the wrong MAC address to be read. By using the de4x5.c driver everything just works fine. You have to set this in your kernel config
CONFIG_DE4X5=y
Code listing 6.1
If you are having problems with the network card after sleep, you should make sure, that the network is down when you put your machine to sleep. You can do this by configuring pmud to shutdown the network when going to sleep, and restarting it when the powerbook is waking up again.

Built-in 33.6Kbit modem

It looks like the modem is not supported. This is based on these posts: debian-power and (page does not exist anymore).
[ Top | Bottom ]

IrDA (infrared)

Built-in IrDA

To use the IrDA port on the backside of the Powerbook you need to enable several modules:
Enable asSetting Name
IrDA (infrared) support
MIrDA subsystem support
MIrLAN protocol
MIrCOMM protocol
Infrared-port device drivers
MIrTTY (uses Linux serial driver)
MIrPort (IrDA serial driver)
Table 7.1 : Settings to enable IrDA in the kernel
The modules are called: irda, irlan, irport, irtty and ircomm. You can autoload the modules by adding a line for each module in /etc/init.d/irda like this: modprobe module.
Further you need to have serial support:
Enable asSetting Name
Mac device drivers
MSupport for PowerMac serial ports
Table 7.2 : Setting to enable macintosh serial port support
For an example of how to use IrDA, see how to sync a Palm Pilot with a Powerbook via IrDA.

For more information:

[ Top | Bottom ]

PCMCIA

Built-in Type II/III

I don't have any PCMCIA cards my self, but a friendly soul send me some information on the subject:

PCMCIA are known to work with many cards, USB/Firewire adapters, modems, NICs. However one needs at least pcmcia-cs-3.2.2, older versions try to load tcic driver instead of proper yenta_socket and fail.

[ Top | Bottom ]

Keyboard

Built-in ADB Apple

The keyboard lacks several keys, like pageup/down, so you have to use xmodmap to remap the keys (See my page about Input devices in Linux for more information)
[ Top | Bottom ]

Mouse/Touchpad

Built-in ADB touchpad

To emulate the 2. and 3. mouse buttons you need support for it enabled in your kernel:
Enable asSetting Name
Macintosh Device Drivers
YSupport for mouse button 2+3 emulation
Table 10.1 : Settings to enable support for mouse button emulation
And then add this to /etc/sysctl.conf :
# Enable mouse button emulation
dev.mac_hid.mouse_button_emulation = 1
# Set 2nd button to 87 - F11
dev.mac_hid.mouse_button2_keycode = 87
# Set 3rd button to 88 - F12
dev.mac_hid.mouse_button3_keycode = 88
Code listing 10.1
Now F11 and F12 will work as you 2. and 3. mouse button.

To enable/disable tapping/drag lock with the touchpad, use Powerprefs. I'm still looking for a good ADB mouse.

[ Top | Bottom ]
Hi! you have reached the old part of my homepage, be sure to checkout my new site