TerastationPro kernel26
From NAS-Central Buffalo - The Linkstation Wiki
I'm working on porting the TsP platform to the 2.6 kernel.
dmesg output of the TeraStation PRO standard kernel
KERNELBASE=c0000000 r6=900030 r7=900052 cmd_line=root=/dev/md0 panic=5 BOOTVER=1.23 Memory BAT mapping: BAT2=128Mb, BAT3=0Mb, residual: 0Mb Linux version 2.4.20_mvl31-ppc_terastation (root@develop) (gcc version 3.3.1 (MontaVista 3.3.1-7.0.13.0500039 2005-01-13)) #10 Tue Feb 21 17:49:24 JST 2006 BUFFALO Network Attached Storage Series (C) 2002-2005 BUFFALO INC. On node 0 totalpages: 32768 zone(0): 32768 pages. zone(1): 0 pages. zone(2): 0 pages. Kernel command line: root=/dev/md0 panic=5 BOOTVER=1.23 OpenPIC Version 1.2 (1 CPUs and 10 IRQ sources) at 80040000 decrementer frequency = 32.768000 MHz Calibrating delay loop... 174.48 BogoMIPS Memory: 125200k available (1692k kernel code, 532k data, 68k init, 0k highmem) Dentry cache hash table entries: 16384 (order: 5, 131072 bytes) Inode cache hash table entries: 8192 (order: 4, 65536 bytes) Mount-cache hash table entries: 2048 (order: 2, 16384 bytes) Buffer-cache hash table entries: 8192 (order: 3, 32768 bytes) Page-cache hash table entries: 32768 (order: 5, 131072 bytes) POSIX conformance testing by UNIFIX PCI: Probing PCI hardware Linux NET4.0 for Linux 2.4 Based upon Swansea University Computer Society NET3.039 Initializing RT netlink socket BUFFALO INC. RTC driver ver 1.00 MICON V2 (C) BUFFALO INC. V.1.00 installed. MICON ctrl (C) BUFFALO INC. V.1.00 installed. Kernel event proc (C) BUFFALO INC. V.1.00 installed. LSP Revision 1 Starting kswapd Disabling the Out Of Memory Killer Journalled Block Device driver loaded SGI XFS 1.3.0 with no debug enabled pty: 256 Unix98 ptys configured Serial driver version 5.05c (2001-07-08) with MANY_PORTS SHARE_IRQ SERIAL_PCI enabled ttyS00 at 0x80004600 (irq = 25) is a ST16650 ttyS01 at 0x80004500 (irq = 24) is a ST16650 RAMDISK driver initialized: 16 RAM disks of 15000K size 1024 blocksize loop: loaded (max 8 devices) eth0: Identified chip type is 'RTL8169s/8110s'. eth0: RTL8169s/8110s Gigabit Ethernet driver 2.2+1 at 0xc9000f00, 00:16:01:0a:19:3f, IRQ 16 PCI: 00:0b.0 PCI cache line size set incorrectly (0 bytes) by BIOS/FW, BUFFALO:it must be zero for PPC8241/8245 eth0: Auto-negotiation Enabled. eth0: 100Mbps Full-duplex operation. SCSI subsystem driver Revision: 1.00 libata version 1.02 loaded. sata_sil version 0.54 ata1: SATA max UDMA/100 cmd 0xC9002C80 ctl 0xC9002C8A bmdma 0xC9002C00 irq 17 ata2: SATA max UDMA/100 cmd 0xC9002CC0 ctl 0xC9002CCA bmdma 0xC9002C08 irq 17 ent->port_ops->irq_handler 3222357644 probe begin ata1: probe begin ata1: probe-wait begin ata1: dev 0 cfg 49:2f00 82:746b 83:7f01 84:4023 85:7468 86:bc01 87:4023 88:00ff ata1: dev 0 ATA, max UDMA7, 488397168 sectors: lba48 ata1: dev 0 configured for UDMA/100 ata1: probe-wait end ata2: probe begin ata2: probe-wait begin ata2: dev 0 cfg 49:2f00 82:746b 83:7f01 84:4023 85:7468 86:bc01 87:4023 88:00ff ata2: dev 0 ATA, max UDMA7, 488397168 sectors: lba48 ata2: dev 0 configured for UDMA/100 ata2: probe-wait end EXIT, returning 2 ata3: SATA max UDMA/100 cmd 0xC9004A80 ctl 0xC9004A8A bmdma 0xC9004A00 irq 20 ata4: SATA max UDMA/100 cmd 0xC9004AC0 ctl 0xC9004ACA bmdma 0xC9004A08 irq 20 ent->port_ops->irq_handler 3222357644 probe begin ata3: probe begin ata3: probe-wait begin ata3: dev 0 cfg 49:2f00 82:746b 83:7f01 84:4023 85:7468 86:bc01 87:4023 88:00ff ata3: dev 0 ATA, max UDMA7, 488397168 sectors: lba48 ata3: dev 0 configured for UDMA/100 ata3: probe-wait end ata4: probe begin ata4: probe-wait begin ata4: dev 0 cfg 49:2f00 82:746b 83:7f01 84:4023 85:7468 86:bc01 87:4023 88:00ff ata4: dev 0 ATA, max UDMA7, 488397168 sectors: lba48 ata4: dev 0 configured for UDMA/100 ata4: probe-wait end EXIT, returning 2 scsi0 : sata_sil scsi1 : sata_sil scsi2 : sata_sil scsi3 : sata_sil Vendor: ATA Model: SAMSUNG SP2504C Rev: VT10 Type: Direct-Access ANSI SCSI revision: 05 Vendor: ATA Model: SAMSUNG SP2504C Rev: VT10 Type: Direct-Access ANSI SCSI revision: 05 Vendor: ATA Model: SAMSUNG SP2504C Rev: VT10 Type: Direct-Access ANSI SCSI revision: 05 Vendor: ATA Model: SAMSUNG SP2504C Rev: VT10 Type: Direct-Access ANSI SCSI revision: 05 Attached scsi disk sda at scsi0, channel 0, id 0, lun 0 Attached scsi disk sdb at scsi1, channel 0, id 0, lun 0 Attached scsi disk sdc at scsi2, channel 0, id 0, lun 0 Attached scsi disk sdd at scsi3, channel 0, id 0, lun 0 SCSI device sda: 488397168 512-byte hdwr sectors (250059 MB) Partition check: sda: sda1 sda2 sda3 sda4 SCSI device sdb: 488397168 512-byte hdwr sectors (250059 MB) sdb: sdb1 sdb2 sdb3 sdb4 SCSI device sdc: 488397168 512-byte hdwr sectors (250059 MB) sdc: sdc1 sdc2 sdc3 sdc4 SCSI device sdd: 488397168 512-byte hdwr sectors (250059 MB) sdd: sdd1 sdd2 sdd3 sdd4 physmap flash device: 400000 at ffc00000 Search for id:(20 20) interleave(1) type(1) Search for id:(20 20) interleave(1) type(1) Search for id:(00 00) interleave(1) type(1) Search for id:(20 5d) interleave(1) type(2) Found: ST M29W324DB linkstation_flash: Found 1 x16 devices at 0x0 in 8-bit mode number of JEDEC chips: 1 Using physmap partition definition Creating 5 MTD partitions on "linkstation_flash": 0x00000000-0x00300000 : "mtd0" 0x00300000-0x00370000 : "mtd1" 0x00370000-0x00380000 : "mtd2" 0x00380000-0x00400000 : "mtd3" 0x00000000-0x00400000 : "mtd4" usb.c: registered new driver usbdevfs usb.c: registered new driver hub ehci_hcd 00:0e.2: PCI device 1033:00e0 ehci_hcd 00:0e.2: irq 19, pci mem c9006f00 usb.c: new USB bus registered, assigned bus number 1 PCI: 00:0e.2 PCI cache line size set incorrectly (0 bytes) by BIOS/FW, BUFFALO:it must be zero for PPC8241/8245 ehci_hcd 00:0e.2: USB 2.0 enabled, EHCI 1.00, driver 2003-Dec-29/2.4 hub.c: USB hub found hub.c: 5 ports detected usb-ohci.c: USB OHCI at membase 0xc9008000, IRQ 19 usb-ohci.c: usb-00:0e.0, PCI device 1033:0035 usb.c: new USB bus registered, assigned bus number 2 hub.c: USB hub found hub.c: 3 ports detected usb-ohci.c: USB OHCI at membase 0xc900a000, IRQ 19 usb-ohci.c: usb-00:0e.1, PCI device 1033:0035 usb.c: new USB bus registered, assigned bus number 3 hub.c: USB hub found hub.c: 2 ports detected Initializing USB Mass Storage driver... usb.c: registered new driver usb-storage USB Mass Storage support registered. md: linear personality registered as nr 1 md: raid0 personality registered as nr 2 md: raid1 personality registered as nr 3 md: raid5 personality registered as nr 4 raid5: measuring checksumming speed 8regs : 312.800 MB/sec 32regs : 322.000 MB/sec raid5: using function: 32regs (322.000 MB/sec) md: multipath personality registered as nr 7 md: md driver 0.90.2 MAX_MD_DEVS=256, MD_SB_DISKS=27 md: Autodetecting RAID arrays. md: autorun ... md: ... autorun DONE. NET4: Linux TCP/IP 1.0 for NET4.0 IP Protocols: ICMP, UDP, TCP, IGMP IP: routing cache hash table of 1024 buckets, 8Kbytes TCP: Hash tables configured (established 8192 bind 16384) NET4: Unix domain sockets 1.0/SMP for Linux NET4.0. NET4: AppleTalk 0.18a for Linux NET4.0 RAMDISK: Compressed image found at block 0 Freeing initrd memory: 2032k freed VFS: Mounted root (ext2 filesystem). hub.c: new USB device 00:0e.0-1, assigned address 2 usb.c: USB device 2 (vend/prod 0x51d/0x2) is not claimed by any active driver. [events: 00000041] md: bind<sdb1,1> [events: 00000041] md: bind<sdc1,2> [events: 00000041] md: bind<sdd1,3> [events: 00000041] md: bind<sda1,4> md: sda1's event counter: 00000041 md: sdd1's event counter: 00000041 md: sdc1's event counter: 00000041 md: sdb1's event counter: 00000041 md0: max total readahead window set to 124k md0: 1 data-disks, max readahead per data-disk: 124k raid1: device sda1 operational as mirror 0 raid1: device sdd1 operational as mirror 3 raid1: device sdc1 operational as mirror 2 raid1: device sdb1 operational as mirror 1 raid1: raid set md0 active with 4 out of 4 mirrors md: updating md0 RAID superblock on device md: sda1 [events: 00000042]<6>(write) sda1's sb offset: 385408 md: sdd1 [events: 00000042]<6>(write) sdd1's sb offset: 385408 md: sdc1 [events: 00000042]<6>(write) sdc1's sb offset: 385408 md: sdb1 [events: 00000042]<6>(write) sdb1's sb offset: 385408 XFS mounting filesystem md(9,0) Ending clean XFS mount for filesystem: md(9,0) XFS mounting filesystem md(9,0) Ending clean XFS mount for filesystem: md(9,0) VFS: Mounted root (xfs filesystem) readonly. Trying to move old root to /initrd ... failed Unmounting old root Trying to free ramdisk memory ... okay Freeing unused kernel memory: 68k init Adding Swap: 136544k swap-space (priority -1) Adding Swap: 136544k swap-space (priority -2) Adding Swap: 136544k swap-space (priority -3) Adding Swap: 136544k swap-space (priority -4) [events: 00000037] md: bind<sdb3,1> [events: 00000037] md: bind<sdc3,2> [events: 00000037] md: bind<sdd3,3> [events: 00000037] md: bind<sda3,4> md: sda3's event counter: 00000037 md: sdd3's event counter: 00000037 md: sdc3's event counter: 00000037 md: sdb3's event counter: 00000037 md1: max total readahead window set to 768k md1: 3 data-disks, max readahead per data-disk: 256k raid5: device sda3 operational as raid disk 0 raid5: device sdd3 operational as raid disk 3 raid5: device sdc3 operational as raid disk 2 raid5: device sdb3 operational as raid disk 1 raid5: allocated 4362kB for md1 raid5: raid level 5 set md1 active with 4 out of 4 devices, algorithm 2 RAID5 conf printout: --- rd:4 wd:4 fd:0 disk 0, s:0, o:1, n:0 rd:0 us:1 dev:sda3 disk 1, s:0, o:1, n:1 rd:1 us:1 dev:sdb3 disk 2, s:0, o:1, n:2 rd:2 us:1 dev:sdc3 disk 3, s:0, o:1, n:3 rd:3 us:1 dev:sdd3 RAID5 conf printout: --- rd:4 wd:4 fd:0 disk 0, s:0, o:1, n:0 rd:0 us:1 dev:sda3 disk 1, s:0, o:1, n:1 rd:1 us:1 dev:sdb3 disk 2, s:0, o:1, n:2 rd:2 us:1 dev:sdc3 disk 3, s:0, o:1, n:3 rd:3 us:1 dev:sdd3 md: updating md1 RAID superblock on device md: sda3 [events: 00000038]<6>(write) sda3's sb offset: 243481024 md: sdd3 [events: 00000038]<6>(write) sdd3's sb offset: 243481024 md: sdc3 [events: 00000038]<6>(write) sdc3's sb offset: 243481024 md: sdb3 [events: 00000038]<6>(write) sdb3's sb offset: 243481024 XFS mounting filesystem md(9,1) Ending clean XFS mount for filesystem: md(9,1)
dmesg output of the TeraStation standard kernel
As i plan to make a terastation (standard one) compatible kernel, I also need it dmesg :
Linux version 2.4.20_mvl31-ppc_linkstation (root@toda_dev2.melcoinc.co.jp) (gcc ????? 3.3.1 (MontaVista 3.3.1-3.0.13.0400526 2004-04-16)) #629 2004? 12? 20? ??? 17:41:21 JST
BUFFALO Network Attached Storage Series
(C) 2002-2004 BUFFALO INC.
On node 0 totalpages: 32768
zone(0): 32768 pages.
zone(1): 0 pages.
zone(2): 0 pages.
Kernel command line: root=/dev/md0
OpenPIC Version 1.2 (1 CPUs and 10 IRQ sources) at 80040000
decrementer frequency = 32.768000 MHz
FAN Control EMC6D102 initialized
Calibrating delay loop... 174.48 BogoMIPS
Memory: 125192k available (1712k kernel code, 544k data, 80k init, 0k highmem)
Dentry cache hash table entries: 16384 (order: 5, 131072 bytes)
Inode cache hash table entries: 8192 (order: 4, 65536 bytes)
Mount-cache hash table entries: 2048 (order: 2, 16384 bytes)
Buffer-cache hash table entries: 8192 (order: 3, 32768 bytes)
Page-cache hash table entries: 32768 (order: 5, 131072 bytes)
POSIX conformance testing by UNIFIX
PCI: Probing PCI hardware
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
Initializing RT netlink socket
LSP Revision 1
Starting kswapd
Disabling the Out Of Memory Killer
Journalled Block Device driver loaded
SGI XFS 1.3.0 with no debug enabled
pty: 256 Unix98 ptys configured
BUFFALO INC. FAN driver ver 1.00
BUFFALO INC. RTC driver ver 1.00
Serial driver version 5.05c (2001-07-08) with MANY_PORTS SHARE_IRQ SERIAL_PCI enabled
ttyS00 at 0x80004600 (irq = 25) is a ST16650
ttyS01 at 0x80004500 (irq = 24) is a ST16650
Uniform Multi-Platform E-IDE driver Revision: 6.31
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
IT8212: IDE controller on PCI bus 00 dev 60
IT8212: chipset revision 19
IT8212: not 100% native mode: will probe irqs later
ide0: BM-DMA at 0xbffed0-0xbffed7, BIOS settings: hda:pio, hdb:pio
ide1: BM-DMA at 0xbffed8-0xbffedf, BIOS settings: hdc:pio, hdd:pio
IT8212: IDE controller on PCI bus 00 dev 68
IT8212: chipset revision 19
IT8212: not 100% native mode: will probe irqs later
ide2: BM-DMA at 0xbffea0-0xbffea7, BIOS settings: hde:pio, hdf:pio
ide3: BM-DMA at 0xbffea8-0xbffeaf, BIOS settings: hdg:pio, hdh:pio
hda: WDC WD2500BB-14GUA0, ATA DISK drive
hdc: WDC WD2500BB-14GUA0, ATA DISK drive
hde: WDC WD2500BB-14GUA0, ATA DISK drive
hdg: WDC WD2500BB-14GUA0, ATA DISK drive
ide0 at 0xbffef8-0xbffeff,0xbffef6 on irq 17
ide1 at 0xbffee8-0xbffeef,0xbffee6 on irq 17 (shared with ide0)
ide2 at 0xbffec8-0xbffecf,0xbffec6 on irq 20
ide3 at 0xbffeb8-0xbffebf,0xbffeb6 on irq 20 (shared with ide2)
blk: queue c023e678, I/O limit 4095Mb (mask 0xffffffff)
hda: 488397168 sectors (250059 MB) w/2048KiB Cache, CHS=30401/255/63, UDMA(100)
blk: queue c023ea00, I/O limit 4095Mb (mask 0xffffffff)
hdc: 488397168 sectors (250059 MB) w/2048KiB Cache, CHS=30401/255/63, UDMA(100)
blk: queue c023ed88, I/O limit 4095Mb (mask 0xffffffff)
hde: 488397168 sectors (250059 MB) w/2048KiB Cache, CHS=30401/255/63, UDMA(100)
blk: queue c023f110, I/O limit 4095Mb (mask 0xffffffff)
hdg: 488397168 sectors (250059 MB) w/2048KiB Cache, CHS=30401/255/63, UDMA(100)
Partition check:
hda: hda1 hda2 hda3 hda4
hdc: hdc1 hdc2 hdc3 hdc4
hde: hde1 hde2 hde3 hde4
hdg: hdg1 hdg2 hdg3 hdg4
RAMDISK driver initialized: 16 RAM disks of 15000K size 1024 blocksize
eth0: RTL8169s/8110s Gigabit Ethernet driver supports Jambo Frame 1.8n5 <2004-11-10> at 0xc9000f00, 00:0d:0b:**:**:**, IRQ 16
eth0: Auto-negotiation Enabled.
eth0: 1000Mbps Full-duplex operation.
SCSI subsystem driver Revision: 1.00
kmod: failed to exec /sbin/modprobe -s -k scsi_hostadapter, errno = 2
physmap flash device: 400000 at ffc00000
Search for id:(04 04) interleave(1) type(1)
Search for id:(04 04) interleave(1) type(1)
Search for id:(00 00) interleave(1) type(1)
Search for id:(04 7e) interleave(1) type(2)
Found: Fujitsu MBM29PL32TM
linkstation_flash: Found 1 x16 devices at 0x0 in 8-bit mode
number of JEDEC chips: 1
Using physmap partition definition
Creating 5 MTD partitions on "linkstation_flash":
0x00000000-0x00300000 : "mtd0"
0x00300000-0x00370000 : "mtd1"
0x00370000-0x00380000 : "mtd2"
0x00380000-0x00400000 : "mtd3"
0x00000000-0x00400000 : "mtd4"
usb.c: registered new driver usbdevfs
usb.c: registered new driver hub
ehci_hcd 00:0e.2: PCI device 1033:00e0
ehci_hcd 00:0e.2: irq 19, pci mem c9002f00
usb.c: new USB bus registered, assigned bus number 1
PCI: 00:0e.2 PCI cache line size set incorrectly (0 bytes) by BIOS/FW, correcting to 32
ehci_hcd 00:0e.2: USB 2.0 enabled, EHCI 1.00, driver 2003-Dec-29/2.4
hub.c: USB hub found
hub.c: 5 ports detected
usb-ohci.c: USB OHCI at membase 0xc9004000, IRQ 19
usb-ohci.c: usb-00:0e.0, PCI device 1033:0035
usb.c: new USB bus registered, assigned bus number 2
hub.c: USB hub found
hub.c: 3 ports detected
usb-ohci.c: USB OHCI at membase 0xc9006000, IRQ 19
usb-ohci.c: usb-00:0e.1, PCI device 1033:0035
usb.c: new USB bus registered, assigned bus number 3
hub.c: USB hub found
hub.c: 2 ports detected
usb.c: registered new driver usblp
printer.c: v0.13: USB Printer Device Class driver
Initializing USB Mass Storage driver...
usb.c: registered new driver usb-storage
USB Mass Storage support registered.
md: linear personality registered as nr 1
md: raid1 personality registered as nr 3
md: raid5 personality registered as nr 4
raid5: measuring checksumming speed
8regs : 312.800 MB/sec
32regs : 322.000 MB/sec
raid5: using function: 32regs (322.000 MB/sec)
md: multipath personality registered as nr 7
md: md driver 0.90.0 MAX_MD_DEVS=256, MD_SB_DISKS=27
md: Autodetecting RAID arrays.
[events: 00000052]
[events: 0000001a]
[events: 0000005c]
[events: 00000052]
[events: 0000001a]
[events: 0000005c]
[events: 00000052]
[events: 0000001a]
[events: 0000005c]
[events: 00000052]
[events: 0000001a]
[events: 0000005c]
md: autorun ...
...
Some finding : The Terastation is using a EMC6D102 chip to control the FAN (FAN Control EMC6D102 initialized)and to monitor the voltages. Buffalo added a driver for that chip in the 2.4 kernel, but in 2.6 kernel, this chip can be handled by the LM85 probe driver ! This hardware chip is not present on a TeraStation Pro !
This page explains how to use the kernel 2.6 LM85 driver. I'll use that to update the ts_fan.c file (BUFFALO INC. FAN driver ver 1.00)

