Linux - KernelThis forum is for all discussion relating to the Linux kernel.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Introduction to Linux - A Hands on Guide
This guide was created as an overview of the Linux Operating System, geared toward new users as an exploration tour and getting started guide, with exercises at the end of each chapter.
For more advanced trainees it can be a desktop reference, and a collection of the base knowledge needed to proceed with system and network administration. This book contains many real life examples derived from the author's experience as a Linux system and network administrator, trainer and consultant. They hope these examples will help you to get a better understanding of the Linux system and that you feel encouraged to try out things on your own.
Click Here to receive this Complete Guide absolutely free.
I have silicon image card SiI3124 attached to my pci-x, and four sata drives attached to the silicon image card. I’m running Linux kernel 2.6.28 that I build with optional modules sata_si.ok. After boot, I have successfully loaded the following modules: sata_sil.ko, ata_piix.ko and sata_sil24.ko
> cat /proc/modules
sata_sil24.ko 13188 0 - Live 0x bla bla
ata_piix.ko 21764 0 - Live ...
sata_sil.ko 0 - Live ...
I recall reading that the sata_si.ko exposes the drive as /proc/scsi/si*
however I see nothing like that.
I'm not sure if I need additional modules to access my attached sata drives or if the drives appears in the file systems elsewhere.
>>>>>>>>>>>>>> dmesg begin <<<<<<<<<<<<<<<<<<<<<<<
BIOS EBDA/lowmem at: 0009f800/0009f800
Initializing cgroup subsys cpuset
Initializing cgroup subsys cpu
Linux version 2.6.28TWIDL (root@DTMCLIENT044) (gcc version 4.2.4 (Ubuntu 4.2.4-1ubuntu3)) #1 SMP Tue Apr 14 10:06:33 PDT 2009
<<<<<<<<<< i cut some text to make it readable >>>>>>>>>>>>>>>>>>>
VFS: Mounted root (ext2 filesystem) readonly.
Freeing unused kernel memory: 380k freed
Write protecting the kernel text: 2916k
Write protecting the kernel read-only data: 1340k
EXT2-fs warning: maximal mount count reached, running e2fsck is recommended
sata_sil24 0000:02:0c.0: version 1.1
sata_sil24 0000:02:0c.0: Applying completion IRQ loss on PCI-X errata fix
scsi0 : sata_sil24
scsi1 : sata_sil24
scsi2 : sata_sil24
scsi3 : sata_sil24
ata1: SATA max UDMA/100 host m128@0xec090000 port 0xec088000 irq 24
ata2: SATA max UDMA/100 host m128@0xec090000 port 0xec08a000 irq 24
ata3: SATA max UDMA/100 host m128@0xec090000 port 0xec08c000 irq 24
ata4: SATA max UDMA/100 host m128@0xec090000 port 0xec08e000 irq 24
ata1: SATA link down (SStatus 0 SControl 0)
ata2: SATA link down (SStatus 0 SControl 0)
ata3: SATA link down (SStatus 0 SControl 0)
ata4: SATA link down (SStatus 0 SControl 0)
sata_sil24 0000:02:0f.0: Applying completion IRQ loss on PCI-X errata fix
scsi4 : sata_sil24
scsi5 : sata_sil24
scsi6 : sata_sil24
scsi7 : sata_sil24
ata5: SATA max UDMA/100 host m128@0xec091000 port 0xec080000 irq 25
ata6: SATA max UDMA/100 host m128@0xec091000 port 0xec082000 irq 25
ata7: SATA max UDMA/100 host m128@0xec091000 port 0xec084000 irq 25
ata8: SATA max UDMA/100 host m128@0xec091000 port 0xec086000 irq 25
ata5: SATA link down (SStatus 0 SControl 0)
ata6: SATA link down (SStatus 0 SControl 0)
ata7: SATA link down (SStatus 0 SControl 0)
ata8: SATA link down (SStatus 0 SControl 0)
libiscsi: Unknown symbol iscsi_alloc_session
libiscsi: Unknown symbol iscsi_session_chkready
libiscsi: Unknown symbol iscsi_host_for_each_session
libiscsi: Unknown symbol iscsi_free_session
libiscsi: Unknown symbol iscsi_conn_error_event
libiscsi: Unknown symbol iscsi_destroy_conn
libiscsi: Unknown symbol iscsi_create_conn
libiscsi: Unknown symbol iscsi_recv_pdu
libiscsi: Unknown symbol iscsi_add_session
libiscsi: Unknown symbol iscsi_destroy_session
libiscsi: Unknown symbol iscsi_unblock_session
libiscsi: Unknown symbol iscsi_block_session
Loading iSCSI transport class v2.0-870.
ide_generic: Unknown symbol ide_host_add
Uniform Multi-Platform E-IDE driver
ide_generic: please use "probe_mask=0x3f" module parameter for probing all legacy ISA IDE ports
Probing IDE interface ide0...
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
Probing IDE interface ide1...
ide1 at 0x170-0x177,0x376 on irq 15
>>>>>>>>>>>>>> dmesg end <<<<<<<<<<<<<<<<<<<<<<<
Last edited by unix4me2002; 04-16-2009 at 08:29 PM.
I have successfully build 2.6.28 with the additional modules ata_generic and sata_sil24. loading these modules provided me with a view of my attached devices on /proc/scsi/sg/device_strs.
My next issue is the appearance of these devices as a file devices on /dev/sd?. Currently no one is listed.
Which module is responsible to map /dev/sd? or create these file devices
Any ideas?
Ken,
"Did you build and load the sd module for scsi disk? or the sg module for scsi generic?"
1) Regarding the sd I have the kernel build with CONFIG_BLK_DEV_SD=y
2) "sg module for scsi generic" I'm not sure which build option you are referring.
BTY, my system boots of a ram drive and no sysfs exist. I'm not clear what control the creation of the sysfs.
Thanks again
Ben
Last edited by unix4me2002; 04-24-2009 at 08:09 PM.
Locating the modules above was the first part, and then mapping the procfs to /dev was accomplished by udevd. Now I’m able to see the devices as /dev/sd?
Thanks
Distribution: Ubuntu/Debian, CentOS, RHEL, FreeBSD, OS X
Posts: 75
Rep:
Quote:
Originally Posted by unix4me2002
Locating the modules above was the first part, and then mapping the procfs to /dev was accomplished by udevd. Now I’m able to see the devices as /dev/sd?
Thanks
I'm also trying to mound four external drives using a SiI 3124 card. Did you manually had to load the kernel module?
I noticed that on my machine it was already included.
I can only see four of the SATA drives; the one on the card is missing.
Here's my linux version (Debian lenny):
Code:
> uname -a
Linux abba 2.6.26-2-686 #1 SMP Tue Mar 9 17:35:51 UTC 2010 i686 GNU/Linux
> cat /proc/version
Linux version 2.6.26-2-686 (Debian 2.6.26-21lenny4) (dannf@debian.org) (gcc version 4.1.3 20080704 (prerelease) (Debian 4.1.2-25)) #1 SMP Tue Mar 9 17:35:51 UTC 2010
I can see the controller card:
Code:
> lspci | grep 3124
03:01.0 RAID bus controller: Silicon Image, Inc. SiI 3124 PCI-X Serial ATA Controller (rev 02)
The kernel seems to have the driver (as far as I understand this):
Here's the firmware version of the card, shown at boot:
Code:
6.3.18
Here's some parts of the boot log. It appears that the drive is visible to the OS.
Code:
> dmesg
.........snip...........
[ 2.168286] sata_sil24 0000:03:01.0: version 1.1
[ 2.168305] ACPI: PCI Interrupt 0000:03:01.0[A] -> GSI 16 (level, low) -> IRQ 16
[ 2.168615] scsi0 : sata_sil24
[ 2.168716] scsi1 : sata_sil24
[ 2.168767] scsi2 : sata_sil24
[ 2.168808] scsi3 : sata_sil24
[ 2.168837] ata1: SATA max UDMA/100 host m128@0xfebffc00 port 0xfebf0000 irq 16
[ 2.168841] ata2: SATA max UDMA/100 host m128@0xfebffc00 port 0xfebf2000 irq 16
[ 2.168844] ata3: SATA max UDMA/100 host m128@0xfebffc00 port 0xfebf4000 irq 16
[ 2.168847] ata4: SATA max UDMA/100 host m128@0xfebffc00 port 0xfebf6000 irq 16
.........snip...........
[ 4.368051] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 0)
[ 4.384023] ata1.00: ATA-8: WDC WD5000AAJS-22YFA0, 12.01C02, max UDMA/133
[ 4.384023] ata1.00: 976773168 sectors, multi 16: LBA48 NCQ (depth 31/32)
[ 4.384023] ata1.00: configured for UDMA/100
[ 6.472038] ata2: SATA link down (SStatus 0 SControl 0)
[ 8.552036] ata3: SATA link down (SStatus 0 SControl 0)
[ 10.632037] ata4: SATA link down (SStatus 0 SControl 0)
[ 10.632167] scsi 0:0:0:0: Direct-Access ATA WDC WD5000AAJS-2 12.0 PQ: 0 ANSI: 5
.........snip...........
What I'd like to see is that fifth SATA drive show up, so I can re-create my md with it.
Here are a couple of options:
1. Try flashing the BIOS to a version that will allow me to just provide the connected drives to the OS, without having to use its RAID feature. Here are the BIOSes: http://www.siliconimage.com/support/...27&cat=15&os=0
2. Rebuild my md RAID with just the four devices, then use the card's firmware to wipe that fifth drive, create a RAID out of it, and expose it to the OS. Then I can add it to my RAID-5 md.
3. I have another card, it's a 2-port SATA controller (sil 3112). I know it works, was using it in my old box, the one that died. I tried plugging it into this new box, but had the same problem as I'm having now: drive doesn't show up in /proc/partitions. So I took it back out, and am trying with this 4-port card instead.
It works! I'm not sure what exactly it was that made it work, but here is what I did:
1. It was up and running, but debian could not see anything attached to the card. There was no /dev/sde in /proc/partitions. There were four drives plugged into the motherboard, and one on the card. The OS could see the four drives just fine.
2. I powered down, and unplugged the four drives from the motherboard, then rebooted.
3. The OS showed me the drive attached to the card!
4. I powered down, and plugged one more drive into the motherboard. When I powered up the OS recognized both!
5. When I put everything into the motherboard it saw them all.
Hey, I won't argue with success... even if I don't know why.
Distribution: Ubuntu/Debian, CentOS, RHEL, FreeBSD, OS X
Posts: 75
Rep:
Quote:
Originally Posted by wad4ever
It works! I'm not sure what exactly it was that made it work, but here is what I did:
1. It was up and running, but debian could not see anything attached to the card. There was no /dev/sde in /proc/partitions. There were four drives plugged into the motherboard, and one on the card. The OS could see the four drives just fine.
2. I powered down, and unplugged the four drives from the motherboard, then rebooted.
3. The OS showed me the drive attached to the card!
4. I powered down, and plugged one more drive into the motherboard. When I powered up the OS recognized both!
5. When I put everything into the motherboard it saw them all.
Hey, I won't argue with success... even if I don't know why.
I also got it to work, and I was able to build a software RAID 5 to an iSCSI SAN device. But the only problem that I faced afterwards was that every time I copied mass amount of files to this software RAID, it caused it automatically remount to read-only. On a production server this is catastrophic as the only way (that I know) to recover from a filesystem that auto mounted itself as read-only is by doing a reboot.
Sadly know thats to this Silicon Image card, we are now deploying a Windows Server instead of CentOS as we first planned. :-(
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.