Buffalo NAS-Central Forums

Welcome to the Linkstation Wiki community
It is currently Fri May 25, 2018 5:36 pm

All times are UTC+01:00




Post new topic  Reply to topic  [ 59 posts ]  Go to page 1 2 3 4 Next
Author Message
PostPosted: Mon Apr 30, 2007 2:58 pm 
Offline
Developer

Joined: Mon Oct 03, 2005 11:32 pm
Posts: 399
Location: France
Hi there,
as some of you may already know, I'm working on a kind of "all buffalo PPC platform" 2.6 kernel.
It's have been tested succesfully on linkstation/linkstation HG/kurobox/kurobox HG.
I'm working on making it boots my terastation pro ... This step is almost done (I still have to solve the AVR chip communication so we'll be able to shutdown/reboot and to communicates with the LCD screen). The next step will be to make it runs on a standard terastation.

For now the kernel features are :
- Auto detecting the RAM amount
- Auto detecting the CPU frequency
- Use a tree taken from the linkstation pro (ARM) kernel patch : all high level drivers from buffalo (protocol part of MICON V1 & V2 and a lot of other things) are in buffalo/drivers (no longer in arch/ppc/platforms ...) => This will allow to use my ppc kernel patch as a base for ARM kernel patch.
- Working with linkstation/linkstation HG/kurobox/kurobox HG
- Will work with Terastation & Terastation Pro

Things to do :
- Make a clean kconfig file to automatically add functions according to the device (linkstation = micon V1, terastation = miconV1+LM85,terastation pro = miconV2+LCD+UPS ...)
- Change platforms defines to be closer to the ARM naming.
- Make sure that kernel params can be interpreted correctly.
- Make the MICON V2 driver working (for the Terastation Pro that is the only PPC device to use this protocol to communicate with the AVR chip, all other PPC devices are using MICON V1) update 09/05 : MICON V2 is now working, need to clean things now.
- Check that all kernel events added by buffalo in the kernel (they are used to inform the system about RAID failures & other things) have been correctly merged in the 2.6 kernel. update 09/05 : For now Ethernet events have been added, need to merge RAID ones. update 05/07 : RAID modifications merged, still need to merge some little things to be done
- Some cleaning in the code to remove all the debugging traces ;)
- Make some adaptations to use the LM85 driver available in the 2.6 kernel instead of the buffalo's driver that was in 2.4 kernel. This is used by the Terastation (standard one only) to control the FAN speed and to monitor the board voltages.

On the terastation pro, I'm using a modified version of the loader.o module to load my kernel (no u-boot available on the terastation yet ...). I'll clean the code a little bit and I'll make it public ASAP. Note that the new code is doing a shutdown of the 2.4 kernel in a better way and should be used on any PPC platform currently using the loader.o method.

I'll post any progress here :) (instead of in the thread in the terastation pro section that was not the best place to post such a technical stuff)

Sylver

PS : If you like my work, please consider donating to the nas-central.org community !
here

A little reminder for me about ARM devices :
TERASTATION_TSTGL => Terastation & Terastation Pro (PPC processor)
TERASTATION_TSHTGL => Terastation Pro (ARM processor)

LS-GL(IESADA) => Linkstation Pro (0x00000009)
TS-HTGL/R1(IEMOCHI) => ??? (0x00002004)
TS-HTGL/R5(YOSHINOBU) => Terastation Pro V2 (0x00002005)
HS-DHTGL/R5(ANNEI) => Terastation live (0x00002006)

_________________
Kurobox Pro 500GB (for dev) / Freelink / 2.6.26-rc4 kernel, QNAP TS-409 Pro 1TB, Maxtor Shared Storage II 500GB


Last edited by Sylver on Thu Jul 05, 2007 9:19 am, edited 4 times in total.

Top
   
PostPosted: Mon Apr 30, 2007 3:19 pm 
Offline
Moderator
User avatar

Joined: Tue Jul 26, 2005 5:22 pm
Posts: 1123
Location: United Kingdom
If you need any help in testing, then I have all three teraStation PPC models (original, Home Server and Pro) available, although from a hardware (and thus I guess kernel) level the original and home server models are identical. I also have them all set up for JTAG as well in case anything needs testing that involves changing the flash and that goes wrong.


Top
   
PostPosted: Mon Apr 30, 2007 4:03 pm 
Offline
Developer

Joined: Mon Oct 03, 2005 11:32 pm
Posts: 399
Location: France
Thanks, I may ask you some testing when I'll work on the terastation's kernel ;)
I'll need the original initrd file from the terastation (it's in a flash block, appended to the kernel image) as I'll have for sure to make some modifications in the scripts so it will be able to handle the 2.6 kernel tree. It will also allow to add a user to be able to log in the emergency mode (EM) telnet.
For example in the terastation I had to modify some code that was checking in /proc/pci file if all the PCI peripherals were detected and running, but in 2.6 kernel /proc/pci file is no longer existing ;). Because of problems like that, the Terastation Pro was staying in EM mode ! I guess that there are some other things like that that would prevent a Terastation to boot correctly on a 2.6 kernel ;)

Here is the log of my 2.6 kernel booting on my Terastation Pro :
Code:
 KERNELBASE=c0000000 (r6=5f3589d r7=5f358bf) r3=0 (r4=466000 r5=6722a6)
 Linux version 2.6.21.1-TsP (root@TS-TGL08B) (gcc version 3.3.5 (Debian 1:3.3.5-13)) #1 Sun Apr 29 03:10:53 CEST 2007
 Early serial console at MMIO 0x80004600 (options '57600n8')
 BUFFALO Network Attached Storage Series
 (C) 2002-2005 BUFFALO INC.
 Entering add_active_range(0, 0, 32768) 0 entries of 256 used
 Zone PFN ranges:
   DMA             0 ->    32768
   Normal      32768 ->    32768
 early_node_map[1] active PFN ranges
     0:        0 ->    32768
 On node 0 totalpages: 32768
   DMA zone: 256 pages used for memmap
   DMA zone: 0 pages reserved
   DMA zone: 32512 pages, LIFO batch:7
   Normal zone: 0 pages used for memmap
 Built 1 zonelists.  Total pages: 32512
 Kernel command line: root=/dev/md0 panic=5 BOOTVER=1.24
 OpenPIC Version 1.2 (1 CPUs and 11 IRQ sources) at 80040000
 PID hash table entries: 512 (order: 9, 2048 bytes)
 Bus clock freq: 131072000
 decrementer frequency = 32.768000 MHz
 Console: colour dummy device 80x25
 Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
 Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
 Memory: 124160k available (2560k kernel code, 876k data, 128k init, 0k highmem)
 Calibrating delay loop... 174.08 BogoMIPS (lpj=348160)
 Mount-cache hash table entries: 512
 NET: Registered protocol family 16
 PCI: Probing PCI hardware
 PCI: Cannot allocate resource region 1 of device 0000:00:00.0
 Registering openpic with sysfs...
 SCSI subsystem initialized
 libata version 2.20 loaded.
 usbcore: registered new interface driver usbfs
 usbcore: registered new interface driver hub
 usbcore: registered new device driver usb
 NET: Registered protocol family 2
 IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
 TCP established hash table entries: 4096 (order: 3, 32768 bytes)
 TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
 TCP: Hash tables configured (established 4096 bind 4096)
 TCP reno registered
 checking if image is initramfs...it isn't (no cpio magic); looks like an initrd
 Freeing initrd memory: 2096k freed
 SGI XFS with ACLs, security attributes, realtime, no debug enabled
 SGI XFS Quota Management subsystem
 io scheduler noop registered
 io scheduler anticipatory registered (default)
 io scheduler deadline registered
 io scheduler cfq registered
 I2C: rs5c372 RTC driver successfully loaded
 Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing disabled
 serial8250.0: ttyS0 at MMIO 0x80004600 (irq = 26) is a 16550A
 serial8250.1: ttyS1 at MMIO 0x80004500 (irq = 25) is a 16550A
 RAMDISK driver initialized: 2 RAM disks of 15000K size 1024 blocksize
 loop: loaded (max 8 devices)
 r8169 Gigabit Ethernet driver 2.2LK loaded
 r8169 0000:00:0b.0: PowerManagement capability not found.
 eth0: RTL8169s/8110s at 0xc9000f00, 00:16:01:0a:50:8b, IRQ 16
 eth0: 100Mbps Half-duplex operation.
 sata_sil 0000:00:0c.0: version 2.1
 sata_sil 0000:00:0c.0: cache line size not set.  Driver may not function
 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
 scsi0 : sata_sil
 ata1: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
 ata1.00: ATA-7: SAMSUNG SP2504C, VT100-41, max UDMA7
 ata1.00: 488397168 sectors, multi 0: LBA48 NCQ (depth 0/32)
 ata1.00: configured for UDMA/100
 scsi1 : sata_sil
 ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
 ata2.00: ATA-7: SAMSUNG SP2504C, VT100-41, max UDMA7
 ata2.00: 488397168 sectors, multi 0: LBA48 NCQ (depth 0/32)
 ata2.00: configured for UDMA/100
 scsi 0:0:0:0: Direct-Access     ATA      SAMSUNG SP2504C  VT10 PQ: 0 ANSI: 5
 SCSI device sda: 488397168 512-byte hdwr sectors (250059 MB)
 sda: Write Protect is off
 sda: Mode Sense: 00 3a 00 00
 SCSI device sda: write cache: enabled, read cache: enabled, doesn't support DPO or FUA
 SCSI device sda: 488397168 512-byte hdwr sectors (250059 MB)
 sda: Write Protect is off
 sda: Mode Sense: 00 3a 00 00
 SCSI device sda: write cache: enabled, read cache: enabled, doesn't support DPO or FUA
  sda: sda1 sda2 sda3 sda4
 sd 0:0:0:0: Attached scsi disk sda
 scsi 1:0:0:0: Direct-Access     ATA      SAMSUNG SP2504C  VT10 PQ: 0 ANSI: 5
 SCSI device sdb: 488397168 512-byte hdwr sectors (250059 MB)
 sdb: Write Protect is off
 sdb: Mode Sense: 00 3a 00 00
 SCSI device sdb: write cache: enabled, read cache: enabled, doesn't support DPO or FUA
 SCSI device sdb: 488397168 512-byte hdwr sectors (250059 MB)
 sdb: Write Protect is off
 sdb: Mode Sense: 00 3a 00 00
 SCSI device sdb: write cache: enabled, read cache: enabled, doesn't support DPO or FUA
  sdb: sdb1 sdb2 sdb3 sdb4
 sd 1:0:0:0: Attached scsi disk sdb
 sata_sil 0000:00:0d.0: cache line size not set.  Driver may not function
 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
 scsi2 : sata_sil
 ata3: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
 ata3.00: ATA-7: SAMSUNG SP2504C, VT100-41, max UDMA7
 ata3.00: 488397168 sectors, multi 0: LBA48 NCQ (depth 0/32)
 ata3.00: configured for UDMA/100
 scsi3 : sata_sil
 ata4: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
 ata4.00: ATA-7: SAMSUNG SP2504C, VT100-41, max UDMA7
 ata4.00: 488397168 sectors, multi 0: LBA48 NCQ (depth 0/32)
 ata4.00: configured for UDMA/100
 scsi 2:0:0:0: Direct-Access     ATA      SAMSUNG SP2504C  VT10 PQ: 0 ANSI: 5
 SCSI device sdc: 488397168 512-byte hdwr sectors (250059 MB)
 sdc: Write Protect is off
 sdc: Mode Sense: 00 3a 00 00
 SCSI device sdc: write cache: enabled, read cache: enabled, doesn't support DPO or FUA
 SCSI device sdc: 488397168 512-byte hdwr sectors (250059 MB)
 sdc: Write Protect is off
 sdc: Mode Sense: 00 3a 00 00
 SCSI device sdc: write cache: enabled, read cache: enabled, doesn't support DPO or FUA
  sdc: sdc1 sdc2 sdc3 sdc4
 sd 2:0:0:0: Attached scsi disk sdc
 scsi 3:0:0:0: Direct-Access     ATA      SAMSUNG SP2504C  VT10 PQ: 0 ANSI: 5
 SCSI device sdd: 488397168 512-byte hdwr sectors (250059 MB)
 sdd: Write Protect is off
 sdd: Mode Sense: 00 3a 00 00
 SCSI device sdd: write cache: enabled, read cache: enabled, doesn't support DPO or FUA
 SCSI device sdd: 488397168 512-byte hdwr sectors (250059 MB)
 sdd: Write Protect is off
 sdd: Mode Sense: 00 3a 00 00
 SCSI device sdd: write cache: enabled, read cache: enabled, doesn't support DPO or FUA
  sdd: sdd1 sdd2 sdd3 sdd4
 sd 3:0:0:0: Attached scsi disk sdd
 physmap platform flash device: 00400000 at ffc00000
 physmap-flash.0: Found 1 x16 devices at 0x0 in 8-bit bank
  Amd/Fujitsu Extended Query Table at 0x0040
 physmap-flash.0: Swapping erase regions for broken CFI table.
 number of CFI chips: 1
 cfi_cmdset_0002: Disabling erase-suspend-program due to code brokenness.
 cmdlinepart partition parsing not available
 RedBoot partition parsing not available
 Using physmap partition information
 Creating 6 MTD partitions on "physmap-flash.0":
 0x00000000-0x00300000 : "mtd_firmimg"
 0x00300000-0x00370000 : "mtd_bootcode"
 0x00370000-0x00380000 : "mtd_status"
 0x00380000-0x00400000 : "mtd_conf"
 0x00000000-0x00400000 : "mtd_allflash"
 0x00310000-0x00400000 : "mtd_data"
 usbmon: debugfs is not available
 ehci_hcd 0000:00:0e.2: EHCI Host Controller
 ehci_hcd 0000:00:0e.2: new USB bus registered, assigned bus number 1
 ehci_hcd 0000:00:0e.2: irq 19, io mem 0xbfffcf00
 ehci_hcd 0000:00:0e.2: USB 2.0 started, EHCI 1.00, driver 10 Dec 2004
 usb usb1: configuration #1 chosen from 1 choice
 hub 1-0:1.0: USB hub found
 hub 1-0:1.0: 5 ports detected
 ohci_hcd: 2006 August 04 USB 1.1 'Open' Host Controller (OHCI) Driver
 ohci_hcd 0000:00:0e.0: OHCI Host Controller
 ohci_hcd 0000:00:0e.0: new USB bus registered, assigned bus number 2
 ohci_hcd 0000:00:0e.0: irq 19, io mem 0xbfffe000
 usb usb2: configuration #1 chosen from 1 choice
 hub 2-0:1.0: USB hub found
 hub 2-0:1.0: 3 ports detected
 ohci_hcd 0000:00:0e.1: OHCI Host Controller
 ohci_hcd 0000:00:0e.1: new USB bus registered, assigned bus number 3
 ohci_hcd 0000:00:0e.1: irq 19, io mem 0xbfffd000
 usb usb3: configuration #1 chosen from 1 choice
 hub 3-0:1.0: USB hub found
 hub 3-0:1.0: 2 ports detected
 Initializing USB Mass Storage driver...
 usbcore: registered new interface driver usb-storage
 USB Mass Storage support registered.
 mice: PS/2 mouse device common for all mice
 i2c /dev entries driver
 md: linear personality registered for level -1
 md: raid0 personality registered for level 0
 md: raid1 personality registered for level 1
 md: raid10 personality registered for level 10
 raid6: int32x1     23 MB/s
 raid6: int32x2     35 MB/s
 raid6: int32x4     50 MB/s
 raid6: int32x8     57 MB/s
 raid6: using algorithm int32x8 (57 MB/s)
 md: raid6 personality registered for level 6
 md: raid5 personality registered for level 5
 md: raid4 personality registered for level 4
 raid5: measuring checksumming speed
    8regs     :   313.000 MB/sec
    8regs_prefetch:   254.000 MB/sec
    32regs    :   322.000 MB/sec
    32regs_prefetch:   269.000 MB/sec
 raid5: using function: 32regs (322.000 MB/sec)
 device-mapper: ioctl: 4.11.0-ioctl (2006-10-12) initialised: dm-devel@redhat.com
 MICON ctrl (C) BUFFALO INC. V.1.00 installed.
 Kernel event proc (C) BUFFALO INC. V.1.00 installed.
 MICON V2 (C) BUFFALO INC. V.1.00 installed.
 TCP cubic registered
 NET: Registered protocol family 1
 NET: Registered protocol family 17
 Adding console on ttyS0 at MMIO 0x80004600 (options '57600n8')
 md: Autodetecting RAID arrays.
 md: autorun ...
 md: ... autorun DONE.
 RAMDISK: Compressed image found at block 0
 VFS: Mounted root (ext2 filesystem).
 md: md0 stopped.
 md: bind<sdb1>
 md: bind<sdc1>
 md: bind<sdd1>
 md: bind<sda1>
 raid1: raid set md0 active with 4 out of 4 mirrors
 Filesystem "md0": Disabling barriers, not supported by the underlying device
 XFS mounting filesystem md0
 Ending clean XFS mount for filesystem: md0
 Filesystem "md0": Disabling barriers, not supported by the underlying device
 XFS mounting filesystem md0
 Ending clean XFS mount for filesystem: md0
 VFS: Mounted root (xfs filesystem) readonly.
 Trying to move old root to /initrd ... /initrd does not exist. Ignored.
 Unmounting old root
 Trying to free ramdisk memory ... okay
 Freeing unused kernel memory: 128k init
 Adding 136544k swap on /dev/ts_disk1_2.  Priority:-1 extents:1 across:136544k
 Adding 136544k swap on /dev/ts_disk2_2.  Priority:-2 extents:1 across:136544k
 Adding 136544k swap on /dev/ts_disk3_2.  Priority:-3 extents:1 across:136544k
 Adding 136544k swap on /dev/ts_disk4_2.  Priority:-4 extents:1 across:136544k
 Filesystem "md0": Disabling barriers, not supported by the underlying device
 r8169: eth0: link up
 eth0: 100Mbps Full-duplex operation.
 md: md1 stopped.
 md: bind<sdb3>
 md: bind<sdc3>
 md: bind<sdd3>
 md: bind<sda3>
 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 4196kB for md1
 raid5: raid level 5 set md1 active with 4 out of 4 devices, algorithm 2
 RAID5 conf printout:
  --- rd:4 wd:4
  disk 0, o:1, dev:sda3
  disk 1, o:1, dev:sdb3
  disk 2, o:1, dev:sdc3
  disk 3, o:1, dev:sdd3
 Filesystem "md1": Disabling barriers, not supported by the underlying device
 XFS mounting filesystem md1
 Ending clean XFS mount for filesystem: md1

_________________
Kurobox Pro 500GB (for dev) / Freelink / 2.6.26-rc4 kernel, QNAP TS-409 Pro 1TB, Maxtor Shared Storage II 500GB


Top
   
PostPosted: Mon Apr 30, 2007 5:20 pm 
Offline
Site Admin
User avatar

Joined: Mon Jul 11, 2005 7:19 am
Posts: 7703
Location: Austria, Vienna
the fail-safe-firmware might be interesting here:
http://terastation.wiki.homelinux.net/wikish/index.html

especially how to make a custom firmimg.bin + where to get them:
http://terastation.wiki.homelinux.net/w ... feFirmware

@Itimpi: we need to tell the guy who runs that wiki that there are some links broken because of the reorganisation of the downloadsection!


Top
   
PostPosted: Mon Apr 30, 2007 5:32 pm 
Offline
Moderator
User avatar

Joined: Tue Jul 26, 2005 5:22 pm
Posts: 1123
Location: United Kingdom
mindbender wrote:
@Itimpi: we need to tell the guy who runs that wiki that there are some links broken because of the reorganisation of the downloadsection!


I will mention it to him. However he does also now point at my web page so that is an alternative way of getting to the correct links. As you say incorporating the alterations that were made to the linuxrc startup script to support booting of alternative devices are well worth having.

sylver wrote:
I'll need the original initrd file from the terastation (it's in a flash block, appended to the kernel image) as I'll have for sure to make some modifications in the scripts so it will be able to handle the 2.6 kernel tree. It will also allow to add a user to be able to log in the emergency mode (EM) telnet.

I can provide the initrd files for all the PPC models - I already have them extracted from the firming.bin files. I also have the linurc startup scripts extracted for all models, including the modified versions to support emergency booting off USB devices. If necessary can tell you what files need supporting/adding for basic telnet as I add these to the standard firmware releases for this purpose.


Top
   
PostPosted: Tue May 01, 2007 7:29 am 
Offline
Site Admin

Joined: Fri Aug 04, 2006 2:37 am
Posts: 1652
Location: United States of America
Hey Sylver, I'm interested in what you actually did with the linkstation pro tree. You mentioned that you have taken some of the high level drivers. Did you just modify it for PPC devices, or did you make any additional improvements? Also, did you extract the drivers from the original GPL sources, or from the ones in svn?

I don't know what your thoughts are, but lb_worm is planning to rewrite the avr stuff, including miconapl, for the lspro. In case you aren't aware, lb_worm and I have been working on the lspro 2.6 kernel for some time. We plan to dump the Buffalo AVR stuff. You may possibly want to look at adopting that similarly into your universal kernel. :)

_________________
http://www.opifer.net


Top
   
PostPosted: Tue May 01, 2007 9:19 am 
Offline
Developer

Joined: Mon Oct 03, 2005 11:32 pm
Posts: 399
Location: France
Hi jonli447,
Actually I took the files in linux-2.x.x/buffalo/drivers that are in the linkstation pro kernel and I did small adaptation in some files (in buffalocore.c for example) to handle PPC devices !
For exemple I modified the r8169 driver and the tulip driver so i'll provide informations about link speed/MTU ... in the /proc/buffalo/enet file (like it's done on a linkstation pro) :
Code:
root@TS-TGL08B:/proc/buffalo# cat enet 
MAC=00:16:01:0A:50:8B
link=100Mbps
duplex=full
jumboframe=disabled
mtu=1500
root@TS-TGL08B:/proc/buffalo# cat firmware
PRODUCTNAME=TS-TGL(IENARI)
VERSION=0.08
SUBVERSION=FLASH 0.00
PRODUCTID=0x00002002
BUILDDATE=2007/04/29 02:47:43
BOOTVER=1.24

The files should still be compatible with arm kernel ...
For now I need to understand exactly how that MICON V2 driver works exactly to be able to make it works correctly on the PPC CPU.
I can send you a WIP patch if you want to have a look at it ;)
Sylver

_________________
Kurobox Pro 500GB (for dev) / Freelink / 2.6.26-rc4 kernel, QNAP TS-409 Pro 1TB, Maxtor Shared Storage II 500GB


Top
   
PostPosted: Tue May 01, 2007 2:49 pm 
Offline
Site Admin

Joined: Fri Aug 04, 2006 2:37 am
Posts: 1652
Location: United States of America
Sylver wrote:
I can send you a WIP patch if you want to have a look at it ;)

Sure. :D

_________________
http://www.opifer.net


Top
   
PostPosted: Sat May 05, 2007 1:23 am 
Offline
Developer

Joined: Mon Oct 03, 2005 11:32 pm
Posts: 399
Location: France
I managed to make a working MiconV2 driver so rebooting/shutdown the Terastation Pro is now working !
I have to make some code addition in the ethernet driver so the kernel will set the ethernet link speed on the LCD screen (for now it stay to "No link" even if the link is working great ;)) and in the md.c (RAID) source so the kernel will say if it's reconstructing the RAID array and stuff like that ;).

Things left to do :
- Cleaning the source code
- RAID & Ethernet code to be completed (to show some informations on the LCD screen)
- Make the kernel runs on a standard Terastation (may be almost ok already)
- Make some cleanups in the new version of the loader.o module and release it for various platforms.

People who wants to test the 2.6 kernel can install this on their terastation pro :
http://terastationpro.free.fr/kernel/TsP2.6.21.1.tar.gz

just untar it from '/', it'll create a /boot directory. just run /boot/boot26 and it should reboot the terastation in a brand new 2.6 kernel :)

Be aware that 2.6 kernels are differents from 2.4 kernel, and for exemple, beeing able to load 2.6 kernel modules will only be possible after updating module-init-tools ! To install a 2.4 & 2.6 compatible module-init-tools, compile a new module-init-tools, and before doing a make install, do a make moveold (will be needed only one time).

If you log to your http administration pages, You'll notice some warnings about disk1,2,3&4 not beeing present... This is because of some changes in /proc/partitions files. To correct that, edit the /www/cgi-bin/module/BufDiskPartition.pm (last function of the file) :
replace
Code:
        for ($i=1; $i<(@list/15); $i++) {
               push @{$self->{device}},   $list[($i*15)+3];
#               push @{$self->{block}},    $list[($i*15)+2];
               push @{$self->{capacity}}, $list[($i*15)+2];
       }

with
Code:
        for ($i=1; $i<(@list/4); $i++) {
                push @{$self->{device}},   $list[($i*4)+3];
                push @{$self->{capacity}}, $list[($i*4)+2];
        }

(replace all "15" with "4")
A good way to do the thing would be to check how many "words" are on the first line and to use this as the value to use (instead of 15 or 4)
If someone want to do it, here are some /proc/partitions example for both cases :
2.4 kernel
Code:
08B:/# cat /proc/partitions
major minor  #blocks  name     rio rmerge rsect ruse wio wmerge wsect wuse running use aveq

   9     0     385408 md0 0 0 0 0 0 0 0 0 0 0 0
   9     1  730443072 md1 0 0 0 0 0 0 0 0 0 0 0
  31     0       6144 mtdblocka 0 0 0 0 0 0 0 0 0 0 0
  31     1        896 mtdblockb 0 0 0 0 0 0 0 0 0 0 0
  31     2        128 mtdblockc 0 0 0 0 0 0 0 0 0 0 0
  31     3       1024 mtdblockd 0 0 0 0 0 0 0 0 0 0 0
  31     4       8192 mtdblocke 0 0 0 0 0 0 0 0 0 0 0
   8     0  244198584 sda 381 1014 10416 1200 1218 2231 27696 3930 0 2520 5170
   8     1     385528 sda1 332 782 8480 940 1183 1995 25528 3810 0 2160 4790
   8     2     136552 sda2 1 0 8 10 0 0 0 0 0 10 10
   8     3  243481141 sda3 47 229 1920 240 35 236 2168 120 0 350 360
   8     4     192779 sda4 0 0 0 0 0 0 0 0 0 0 0
   8    16  244198584 sdb 394 1088 11604 900 1225 2237 27760 3680 0 2100 4600
   8    17     385528 sdb1 360 891 9852 810 1186 1997 25528 3590 0 1940 4420
   8    18     136552 sdb2 1 0 8 0 0 0 0 0 0 0 0
   8    19  243481141 sdb3 32 194 1736 80 39 240 2232 90 0 160 170
   8    20     192779 sdb4 0 0 0 0 0 0 0 0 0 0 0
   8    32  244198584 sdc 350 1240 12480 830 1226 2220 27632 3490 0 2010 4330
   8    33     385528 sdc1 316 1043 10728 730 1189 1994 25528 3390 0 1820 4130
   8    34     136552 sdc2 1 0 8 0 0 0 0 0 0 0 0
   8    35  243481141 sdc3 32 194 1736 90 37 226 2104 100 0 180 190
   8    36     192779 sdc4 0 0 0 0 0 0 0 0 0 0 0
   8    48  244198584 sdd 369 1223 12448 910 1225 2193 27408 3400 0 2020 4320
   8    49     385528 sdd1 311 1001 10304 800 1188 1995 25528 3330 0 1850 4140
   8    50     136552 sdd2 1 0 8 10 0 0 0 0 0 10 10
   8    51  243481141 sdd3 56 219 2128 90 37 198 1880 70 0 160 160
   8    52     192779 sdd4 0 0 0 0 0 0 0 0 0 0 0
root@TS-TGL08B:/#


2.6 kernel
Code:
root@TS-TGL08B:/# cat /proc/partitions
major minor  #blocks  name

   8     0  244198584 sda
   8     1     385528 sda1
   8     2     136552 sda2
   8     3  243481141 sda3
   8     4     192779 sda4
   8    16  244198584 sdb
   8    17     385528 sdb1
   8    18     136552 sdb2
   8    19  243481141 sdb3
   8    20     192779 sdb4
   8    32  244198584 sdc
   8    33     385528 sdc1
   8    34     136552 sdc2
   8    35  243481141 sdc3
   8    36     192779 sdc4
   8    48  244198584 sdd
   8    49     385528 sdd1
   8    50     136552 sdd2
   8    51  243481141 sdd3
   8    52     192779 sdd4
  31     0       3072 mtdblock0
  31     1        448 mtdblock1
  31     2         64 mtdblock2
  31     3        512 mtdblock3
  31     4       4096 mtdblock4
  31     5        960 mtdblock5
   9     0     385408 md0
   9     1  730443072 md1
root@TS-TGL08B:/#


Sylver

PS : I'll be away for the week end, don't expect answers before Monday ;)

_________________
Kurobox Pro 500GB (for dev) / Freelink / 2.6.26-rc4 kernel, QNAP TS-409 Pro 1TB, Maxtor Shared Storage II 500GB


Top
   
PostPosted: Mon May 07, 2007 2:20 pm 
Offline
Site Admin
User avatar

Joined: Mon Jul 11, 2005 7:19 am
Posts: 7703
Location: Austria, Vienna
great work.

as i am always scanning ebay.at/ebay.de/ebay.co.uk i hope i will be able to get a terastation in the future cheap.
at the moment the teraPros are still very expensive there, but the original terastations dropped in price because of the existence of the TeraPro v1 and now even more with the TeraPro v2 + TeraLive.


Top
   
PostPosted: Mon Jul 02, 2007 9:27 am 
Offline
Developer

Joined: Mon Oct 03, 2005 11:32 pm
Posts: 399
Location: France
Ho, I've just figured out that the 2.6 kernel for the ARM version of the TsP (TsP v2) is available since about a week and I haven't seen it :( => http://buffalo.nas-central.org/download/TS ... tshtgl.tgz
I'll check it when I'll be home to complete my kernel patch with some RAID stuff needed to show correct labels on the LCD screen :)
Sylver

_________________
Kurobox Pro 500GB (for dev) / Freelink / 2.6.26-rc4 kernel, QNAP TS-409 Pro 1TB, Maxtor Shared Storage II 500GB


Top
   
PostPosted: Mon Jul 02, 2007 10:52 am 
Offline
Site Admin
User avatar

Joined: Mon Jul 11, 2005 7:19 am
Posts: 7703
Location: Austria, Vienna
wohoo ;)

now that we know that the HG-kernels work on the Tera/TeraHS it is only unclear if the terapro v1 needs some special treatment..and the arm-kernel from lb_worm/jonli447 will be the base for the terastation pro v2 anyway.


Top
   
PostPosted: Mon Jul 02, 2007 12:31 pm 
Offline
Developer

Joined: Mon Oct 03, 2005 11:32 pm
Posts: 399
Location: France
Well the Terastation v1 is just a Linkstation with 1 more IDE controller and RAID support. The only real difference is that it's using a LM85 compatible chip to handle fan speed, and it can monitor voltages and temperature.

In my kernel patch, I'm trying to make something compatible with interfaces of old (2.4) kernels for buffalo's specific stuff (for example there is some files in /proc folder that are used by the http admin pages). For the Terastation V1, the only thing to do is to provide the same file as in 2.4 kernel to read values (FAN speed/voltages/temperature) so the http admin pages will be able to read values !
For example, having a kernel for TsP Pro is not that hard, but having a TsP Pro kernel that handle the LCD screen, and shows severals kernel events on it is not that easy ;) Moreover, having to handle several hardware (Linkstations/Terastations) is making things a little bit tricky ;)

So after having merged stuff from the TsP V2 raid support, I'll release a version of my kernel. This version will provide support for :
- Linkstation (ppc)
- Linkstation HG
- Kurobox
- Kurobox HG
- Terastation (LM85 interface compatible with http admin pages will be missing for now)
- Terastation Pro

As I don't own a standard Terastation, I'll not develop the stuff needed for the LM85 interface. If people really need it, I may change my mind, elseway I'll do it when I'll will have nothing else to do (knowing that this may never happen ... ;))
The next step will be to merge stuff needed for the ARM devices (As I'll buy a Kurobox Pro, I'll be able to test that ;))

Sylver

_________________
Kurobox Pro 500GB (for dev) / Freelink / 2.6.26-rc4 kernel, QNAP TS-409 Pro 1TB, Maxtor Shared Storage II 500GB


Top
   
PostPosted: Fri Oct 05, 2007 7:36 am 
Offline
Developer

Joined: Mon Oct 03, 2005 11:32 pm
Posts: 399
Location: France
I've uploaded the Universal kernel source to sourceforge, you can get it using svn :
Quote:

or browse it : https://linkstationwiki.svn.sourceforge ... universal/
For now it's not quite stable due to my latests modifications for having a single driver for MICON V2 on both ARM9 & PPC targets ! On PPC targets, all is working but MICON V2 (I did not test MICON V1 since my latests changes). ARM9 targets are not compiling for now because of something I should have forgot to merge (the /include/arm/arch symlinks is not correct => include/arm/arch -> include/arm/arch- ). As soon as I've fixed that, ARM9 targets should be ok too ;)
You can read the Release Notes but it is missing some known issues for now, and the kernel have not been tested on anything else than my TsP for now) ;)

_________________
Kurobox Pro 500GB (for dev) / Freelink / 2.6.26-rc4 kernel, QNAP TS-409 Pro 1TB, Maxtor Shared Storage II 500GB


Top
   
PostPosted: Fri Oct 05, 2007 10:24 am 
Offline
Site Admin
User avatar

Joined: Sun Jul 17, 2005 4:34 pm
Posts: 5332
I'll test it this weekend(?) on the PPC platform.


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 59 posts ]  Go to page 1 2 3 4 Next

All times are UTC+01:00


Who is online

Users browsing this forum: No registered users and 5 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Powered by phpBB® Forum Software © phpBB Limited