It is the first time I fiddle with an Apple machine. Apple PowerBook G4 is really amazing stuff. I get outstanding performance and peculiar experience from this small and exquisite nice-looking aluminum alloy box.
You can find the latest version of this document at http://www.mamiyami.com/powerbook/
| Power PC G4 microprocessor 1.33GHz | Works |
| 256 MB DDR SDRAM | Works |
| 60 GB hard disk drive | Works |
| DVD-ROM/CD-RW drive | Works |
| nVidia GeForce FX Go5200 with 64 MB DDR SDRAM | Partial works1 |
| USB 2.0 | Works |
| IEEE-1394a FireWire 400 | Works |
| 56 Kbps Internal Modem | Doesn't work |
| 10Base-T and 100Base-T Ethernet | Works |
| 54 Mbps Airport Extreme wireless | Works4 |
| Bluetooth | Works |
| Sound | Works3 |
| Keyboard | Works |
| Trackpad | Works |
| 12.1 inch TFT 1024×768 | Works |
| Power Management | Partial works3 |
0000:00:0b.0 Host bridge: Apple Computer Inc. UniNorth 2 AGP
Flags: bus master, 66MHz, medium devsel, latency 16
Capabilities: <available only to root>
0000:00:10.0 VGA compatible controller: nVidia Corporation NV34M [GeForce FX Go5
200] (rev a1) (prog-if 00 [VGA])
Subsystem: nVidia Corporation: Unknown device 0010
Flags: bus master, 66MHz, medium devsel, latency 248, IRQ 48
Memory at 91000000 (32-bit, non-prefetchable) [size=16M]
Memory at a0000000 (32-bit, prefetchable) [size=128M]
Expansion ROM at 90000000 [disabled] [size=128K]
Capabilities: <available only to root>
0001:01:0b.0 Host bridge: Apple Computer Inc. UniNorth 2 PCI
Flags: bus master, 66MHz, medium devsel, latency 16
0001:01:12.0 Network controller: Broadcom Corporation BCM4306 802.11b/g Wireless
LAN Controller (rev 03)
Subsystem: Apple Computer Inc.: Unknown device 004e
Flags: bus master, fast devsel, latency 16, IRQ 52
Memory at 80084000 (32-bit, non-prefetchable) [disabled] [size=8K]
Capabilities: <available only to root>
0001:01:17.0 ff00: Apple Computer Inc. KeyLargo/Intrepid Mac I/O
Flags: bus master, medium devsel, latency 16
Memory at 80000000 (32-bit, non-prefetchable) [size=512K]
0001:01:18.0 USB Controller: Apple Computer Inc. KeyLargo/Intrepid USB (prog-if
10 [OHCI])
Flags: medium devsel
Memory at f3000000 (32-bit, non-prefetchable) [size=4K]
0001:01:19.0 USB Controller: Apple Computer Inc. KeyLargo/Intrepid USB (prog-if
10 [OHCI])
Flags: medium devsel
Memory at f3001000 (32-bit, non-prefetchable) [size=4K]
0001:01:1a.0 USB Controller: Apple Computer Inc. KeyLargo/Intrepid USB (prog-if
10 [OHCI])
Flags: bus master, medium devsel, latency 16, IRQ 29
Memory at 80083000 (32-bit, non-prefetchable) [size=4K]
0001:01:1b.0 USB Controller: NEC Corporation USB (rev 43) (prog-if 10 [OHCI])
Subsystem: NEC Corporation USB
Flags: bus master, medium devsel, latency 16, IRQ 63
Memory at 80082000 (32-bit, non-prefetchable) [size=4K]
Capabilities: <available only to root>
0001:01:1b.1 USB Controller: NEC Corporation USB (rev 43) (prog-if 10 [OHCI])
Subsystem: NEC Corporation USB
Flags: bus master, medium devsel, latency 16, IRQ 63
Memory at 80081000 (32-bit, non-prefetchable) [size=4K]
Capabilities: <available only to root>
0001:01:1b.2 USB Controller: NEC Corporation USB 2.0 (rev 04) (prog-if 20 [EHCI]
)
Subsystem: NEC Corporation USB 2.0
Flags: bus master, medium devsel, latency 16, IRQ 63
Memory at 80080000 (32-bit, non-prefetchable) [size=256]
Capabilities: <available only to root>
0002:02:0b.0 Host bridge: Apple Computer Inc. UniNorth 2 Internal PCI
Flags: bus master, 66MHz, medium devsel, latency 16
0002:02:0d.0 ff00: Apple Computer Inc. UniNorth/Intrepid ATA/100
Flags: bus master, medium devsel, latency 32, IRQ 39
Memory at f5004000 (32-bit, non-prefetchable) [size=16K]
0002:02:0e.0 FireWire (IEEE 1394): Apple Computer Inc. UniNorth 2 FireWire (rev
81) (prog-if 10 [OHCI])
Subsystem: Apple Computer Inc.: Unknown device 5811
Flags: bus master, medium devsel, latency 64, IRQ 40
Memory at f5000000 (32-bit, non-prefetchable) [size=4K]
Capabilities: <available only to root>
0002:02:0f.0 Ethernet controller: Apple Computer Inc. UniNorth 2 GMAC (Sun GEM)
(rev 80)
Flags: bus master, 66MHz, slow devsel, latency 16, IRQ 41
Memory at f5200000 (32-bit, non-prefetchable) [size=2M]
Expansion ROM at f5100000 [disabled] [size=1M]
# uname -a Linux bauxite 2.6.16.20-alum.2 #1 Sun Jun 18 16:23:23 CST 2006 ppc GNU/Linux
It is a Motorola MPC7447A Processor 1.33GHz.
# cat /proc/cpuinfo processor : 0 cpu : 7447A, altivec supported clock : 1333MHz revision : 1.1 (pvr 8003 0101) bogomips : 1327.10 machine : PowerBook6,4 motherboard : PowerBook6,4 MacRISC3 Power Macintosh detected as : 287 (PowerBook G4 12") pmac flags : 0000000a L2 cache : 512K unified memory : 256MB pmac-generation : NewWorld
# cat /proc/cpuinfo processor : 0 cpu : 7447A, altivec supported clock : 666MHz revision : 1.1 (pvr 8003 0101) bogomips : 663.55 machine : PowerBook6,4 motherboard : PowerBook6,4 MacRISC3 Power Macintosh detected as : 287 (PowerBook G4 12") pmac flags : 0000000a L2 cache : 512K unified memory : 256MB pmac-generation : NewWorld
The USB 2.0 works well.
It seems worked. Since I do not have any firewire device. This is untested.
ohci1394: $Rev: 1223 $ Ben Collins <bcollins@debian.org> PCI: Enabling device 0002:02:0e.0 (0000 -> 0002) ohci1394: fw-host0: Unexpected PCI resource length of 1000! ohci1394: fw-host0: OHCI-1394 1.1 (PCI): IRQ=[40] MMIO=[f5000000-f50007ff] Max Packet=[2048] ieee1394: Host added: ID:BUS[0-00:1023] GUID[000d93fffe388690] ip1394: $Rev: 1224 $ Ben Collins <bcollins@debian.org> divert: not allocating divert_blk for non-ethernet device eth1 ip1394: eth1: IEEE-1394 IPv4 over 1394 Ethernet (fw-host0)
It worked. Tested with my external DVD burner, Pioneer DVD-RW DVR-109.
ieee1394: Node added: ID:BUS[0-00:1023] GUID[00507705205c0768] ieee1394: Node changed: 0-00:1023 -> 0-01:1023 ieee1394: unsolicited response packet received - no tlabel match scsi0 : SCSI emulation for IEEE-1394 SBP-2 Devices ieee1394: sbp2: Logged into SBP-2 device ieee1394: Node 0-00:1023: Max speed [S400] - Max payload [2048] Vendor: PIONEER Model: DVD-RW DVR-109 Rev: 1.40 Type: CD-ROM ANSI SCSI revision: 02 sr0: scsi3-mmc drive: 40x/40x writer cd/rw xa/form2 cdda tray Attached scsi CD-ROM sr0 at scsi0, channel 0, id 0, lun 0 Attached scsi generic sg0 at scsi0, channel 0, id 0, lun 0, type 5
It cannot work.
The Ethernet adapter from Sun works fine.
sungem.c:v0.98 8/24/03 David S. Miller (davem@redhat.com) divert: allocating divert_blk for eth0 eeth0: Sun GEM (PCI) 10/100/1000BaseT Ethernet aa:bb:cc:dd:ee:ff PHY ID: 4061e4, addr: 0 eth0: Found BCM5221 PHYActivate CONFIG_SUNGEM=y in your kenerl configuration.
# hciconfig -a
hci0: Type: USB
BD Address: 00:00:99:AA:BB:CC ACL MTU: 192:8 SCO MTU: 64:8
UP RUNNING PSCAN ISCAN
RX bytes:107 acl:0 sco:0 events:14 errors:0
TX bytes:300 acl:0 sco:0 commands:13 errors:0
Features: 0xff 0xff 0x8f 0x78 0x18 0x18 0x00 0x80
Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3
Link policy: RSWITCH HOLD SNIFF PARK
Link mode: SLAVE ACCEPT
Name: 'bauxite-0'
Class: 0x000100
Service Classes: Unspecified
Device Class: Computer, Uncategorized
HCI Ver: 1.2 (0x2) HCI Rev: 0x4d9 LMP Ver: 1.2 (0x2) LMP Subver: 0x4d9
Manufacturer: Cambridge Silicon Radio (10)
I have a Nokia N-Gage QD cell phone with bluetooth support. With bluetooth discovery protocol, It can discover the cell phone successfully. And then communicate with the cell phone.
# hcitool scan
Scanning ...
00:00:66:77:88:99 N-Gage QD
Install alsa-base with apt-get install alsa-base. Works fine. Active the following options in your kenerl configuration.
CONFIG_SOUND=m CONFIG_DMASOUND_PMAC=m CONFIG_DMASOUND=m
Create file /etc/modprobe.d/alsa-driver with the following content.
# Alsa 1.0.6 kernel modules' configuration file. # /etc/modprobe.d/alsa-driver # ALSA portion alias char-major-116 snd # OSS/Free portion alias char-major-14 soundcore ## ## IMPORTANT: ## You need to customise this section for your specific sound card(s) ## and then run `update-modules' command. ## Read alsa-driver's INSTALL file in /usr/share/doc for more info. ## ## ALSA portion alias snd-card-0 snd-powermac ## OSS/Free portion alias sound-slot-0 snd-card-0 ## # OSS/Free portion - card #1 alias sound-service-0-0 snd-mixer-oss alias sound-service-0-1 snd-seq-oss alias sound-service-0-3 snd-pcm-oss alias sound-service-0-8 snd-seq-oss alias sound-service-0-12 snd-pcm-oss alias /dev/mixer snd-mixer-oss alias /dev/dsp snd-pcm-oss alias /dev/midi snd-seq-oss # Set this to the correct number of cards. options snd cards_limit=1And run update-modules to update file /etc/modules.conf.
Hard disk drive works fine.
# hddtemp /dev/hda hddtemp /dev/hda /dev/hda: Hitachi IC25N060ATMR04-0: 38°C
# hdparm -i /dev/hda
/dev/hda:
Model=Hitachi IC25N060ATMR04-0, FwRev=MO3AAD7A, SerialNo=MRG3X9K3V5JKNH
Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs }
RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=4
BuffType=DualPortCache, BuffSize=7884kB, MaxMultSect=16, MultSect=off
CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=117210240
IORDY=on/off, tPIO={min:240,w/IORDY:120}, tDMA={min:120,rec:120}
PIO modes: pio0 pio1 pio2 pio3 pio4
DMA modes: mdma0 mdma1 mdma2
UDMA modes: udma0 udma1 udma2 udma3 udma4 *udma5
AdvancedPM=yes: mode=0x80 (128) WriteCache=enabled
Drive conforms to: ATA/ATAPI-6 T13 1410D revision 3a:
* signifies the current active mode
I use 2.6 Linux kernel, and cdrecord scanbus reports the following message.
# cdrecord -scanbus dev=ATA
Cdrecord-Clone 2.01a34 (powerpc-unknown-linux-gnu) Copyright (C) 1995-2004 Jörg
Schilling
NOTE: this version of cdrecord is an inofficial (modified) release of cdrecord
and thus may have bugs that are not present in the original version.
Please send bug reports and support requests to <cdrtools@packages.debian.
org>.
The original author should not be bothered with problems of this version.
scsidev: 'ATA'
devname: 'ATA'
scsibus: -2 target: -2 lun: -2
Warning: Using badly designed ATAPI via /dev/hd* interface.
Linux sg driver version: 3.5.27
Using libscg version 'schily-0.8'.
scsibus1:
1,0,0 100) 'MATSHITA' 'CD-RW CW-8123 ' 'CA0T' Removable CD-ROM
1,1,0 101) *
1,2,0 102) *
1,3,0 103) *
1,4,0 104) *
1,5,0 105) *
1,6,0 106) *
1,7,0 107) *
The 802.11 b/g wirelees network adapter cannot work.
Finally, it worked. You can download the latest driver from http://bcm43xx.berlios.de/. And tThis driver was included into the Linux kernel since 2.6.17-rc2.
Use pbbuttons to support the powerbook special keys.
The trackpad has only one mouse button. Add the following lines to file /etc/sysctl.conf to map the second and third mouse button to F11 and F12.
dev.mac_hid.mouse_button_emulation = 1 dev.mac_hid.mouse_button2_keycode = 87 dev.mac_hid.mouse_button3_keycode = 88
XFree86 works fine. I use the nv driver. Here is my XFree86 configuration file.
Apple
IBM developerWorks
Install Linux on a Powerbook
PowerBook G4 Hardware
Interesting
Wallpapers