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
Not much to say, and no known problems.
The motherboard is a Apple AAPL,3400 MacRISC (Oldworld), with 80MB ram.
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).
A simple Chips & Technologies 65550 1MB is used in the 3400, see my
monitor section for information on configuring the xserver.
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"
EndSectionCode 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.
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.
It looks like the modem is not supported.
This is based on these posts:
debian-power and (page does not exist anymore).
To use the IrDA port on the backside of the Powerbook you need to enable several modules:
| Enable as | Setting Name |
| IrDA (infrared) support |
| M | IrDA subsystem support |
| M | IrLAN protocol |
| M | IrCOMM protocol |
| Infrared-port device drivers |
| M | IrTTY (uses Linux serial driver) |
| M | IrPort (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 as | Setting Name |
| Mac device drivers |
| M | Support 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.
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.
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)
To emulate the 2. and 3. mouse buttons you need support for it enabled in your kernel:
| Enable as | Setting Name |
| Macintosh Device Drivers |
| Y | Support 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.