The mission:
Add 2 SATA II disks in machine with Adaptec 3405, upgrade controller’s firmware/BIOS too.

The hardware:
Adaptec 3405 with 2 SAS MAX3147RC disks as RAID 1, I added 2 WD7500AYYS-01RCA SATA disks wich we need to merge on RAID 1 as let’s say a backup place.

Notice:
As usually, exaple will be made on machine powerd by PLD Linux ;-)

Build/install package arcconf. In my example: arcconf-5.30-1.x86_64.rpm and check what we’ve got on board.

# arcconf GETVERSION
Controllers found: 1
Controller #1
==============
Firmware : 5.2-0 (15611)
Staged Firmware : 5.2-0 (15611)
BIOS : 5.2-0 (15611)
Driver : 1.1-5 (2437)
Boot Flash : 5.2-0 (15611)

Command completed successfully. So, we’ve got one Adaptec 3405 device, it’s ID is 1. That ID will be useful later. Check device status:


# arcconf GETSTATUS 1
Controllers found: 1
Logical device Task:
Logical device : 0
Task ID : 100
Current operation : Rebuild
Status : In Progress
Priority : High
Percentage complete : 28
Command completed successfully.

To make things more interesting, I purposefully removed out one of the SAS disks for a feew seconds ;-) Simulation of array damage. Let’s put SATA disks, and upgrade controller’s software.


# wget http://download.adaptec.com/raid/asr/fw_bios/3405_fw_b15728.exe
# unzip 3405_fw_b15728.exe
# ls -lh
razem 2,5M
-rw-r--r-- 1 root root 256K kwi 1 17:44 acusas.exe
-rw-r--r-- 1 root root 196K kwi 1 17:44 afu.exe
-rw-r--r-- 1 root root 629K kwi 1 17:44 as340501.ufi
-rw-r--r-- 1 root root 1,4M kwi 1 17:44 as340502.ufi
-rw-r--r-- 1 root root 2,9K kwi 5 18:12 Relnotes.txt
-rw-r--r-- 1 root root 82 cze 11 00:32 UcliEvt.log

OK, let’s do it !

# arcconf ROMUPDATE 1 as3405
Controllers found: 1
You must restart the system for firmware updates to take effect.
Are you sure you want to continue?
Press y, then ENTER to continue or press ENTER to abort: y
Updating controller 1 firmware...Succeeded
A new software image has been applied to controller 1.
Command completed successfully.

What was done ?

# arcconf GETVERSION 1
Controllers found: 1
Controller #1
==============
Firmware : 5.2-0 (15611)
Staged Firmware : 5.2-0 (15728)
BIOS : 5.2-0 (15611)
Driver : 1.1-5 (2437)
Boot Flash : 5.2-0 (15728)
Command completed successfully.

We need to reboot our machine to set the changes, will do that later. Let’s check added disks.


# arcconf GETCONFIG 1
Device #2
Device is a Hard drive
State : Ready
Supported : Yes
Transfer Speed : SATA 3.0 Gb/s
Reported Channel,Device : 0,2
Reported Location : Connector 0, Device 2
Vendor : WDC
Model : WD7500AYYS-01RCA
Firmware : 30.04G30
Serial number : WD-WCAPT0615906
Size : 715404 MB
Write Cache : Unknown
FRU : None
S.M.A.R.T. : No
Device #3
Device is a Hard drive
State : Ready
Supported : Yes
Transfer Speed : SATA 3.0 Gb/s
Reported Channel,Device : 0,3
Reported Location : Connector 0, Device 3
Vendor : WDC
Model : WD7500AYYS-01RCA
Firmware : 30.04G30
Serial number : WD-WCAPT0636669
Size : 715404 MB
Write Cache : Unknown
FRU : None
S.M.A.R.T. : No

All OK, since now, we can create new array. The arcconf’s help, suggests to type:

arcconf CREATE 1 LOGICALDRIVE Name BACKUP Rcache RON Wcache WB Size MAX Raid1 Channel0 ID2 Channel0 ID3

so, we type:

# arcconf CREATE 1 LOGICALDRIVE Name BACKUP MAX 1 0 2 0 3
Controllers found: 1
Do you want to add a logical device to the configuration?
Press y, then ENTER to continue or press ENTER to abort: y
Creating logical device: BACKUP
Command completed successfully.

The dmesg will tell us, that there is a new device added, in my example it was /dev/sdb – all done ;)

Po aktualizacji kernela dla PLD Ac do kernel-grsecurity-2.6.16.60-10.i686 przyszedł mail z informacją od mdadm – wyleciał jeden z dysków. Co zrobić ?

# cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 hdb1[0] hda1[1]
96256 blocks [2/2] [UU]
md1 : active raid1 hda3[1]
38523776 blocks [2/1] [_U]
unused devices:<none>

Reakcja:
# mdadm /dev/md1 -a /dev/hdb3
mdadm: re-added /dev/hdb3
# cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 hdb1[0] hda1[1]
96256 blocks [2/2] [UU]md1 : active raid1 hdb3[2] hda3[1]
38523776 blocks [2/1] [_U]
[>....................] recovery = 0.0% (3328/38523776) finish=377.6min speed=1664K/sec
unused devices:<none>

Rebuild raida nie zajął więcej niż 120 minut.

Szukamy winnego:
w /var/log/kernel znajduję:

Apr 27 09:13:17 exploder kernel: hda: hda1 hda2 hda3
Apr 27 09:13:17 exploder kernel: hdb: max request size: 512KiB
Apr 27 09:13:17 exploder kernel: hdb: 78242976 sectors (40060 MB) w/2048KiB Cache, CHS=16383/255/63, UDMA(100)
Apr 27 09:13:17 exploder kernel: hdb: cache flushes supported
Apr 27 09:13:17 exploder kernel: hdb: hdb1 hdb2 hdb3
Apr 27 09:13:17 exploder kernel: SGI XFS with ACLs, security attributes, large block numbers, no debug enabled
Apr 27 09:13:17 exploder kernel: SGI XFS Quota Management subsystem
Apr 27 09:13:17 exploder kernel: md: md1 stopped.
Apr 27 09:13:17 exploder kernel: md: bind
Apr 27 09:13:17 exploder kernel: md: bind
Apr 27 09:13:17 exploder kernel: md: kicking non-fresh hdb3 from array!
Apr 27 09:13:17 exploder kernel: md: unbind
Apr 27 09:13:17 exploder kernel: md: export_rdev(hdb3)
Apr 27 09:13:17 exploder kernel: raid1: raid set md1 active with 1 out of 2 mirrors

co sugeruje, że raid nie poskładał się przy starcie systemu i problem istniał już przed podmianą kernela. Sugestia: pamiętaj o wpisaniu poprawnego adresu e-mail MDADM_EMAIL w /etc/sysconfig/mdadm.

Dla lubiących filmy akcji w komiksowej oprawie ;-) Jedynka podobała mi się, na pewno pójdę do kina na dwójkę.

Zwiastun hellboy 2:

Niektórzy z Was już zapewne zauważyli podczas upgradu/instalacji:

Installing set #2
Processing dependencies...
geninitrd-9000.4-2.noarch obsoleted by geninitrd-9000.5-2.noarch
There are 1 package to install, 1 to remove:
I geninitrd-9000.5-2.noarch
R geninitrd-9000.4-2.noarch
Need to get 38.9KB of archives (38.9KB to download).
After unpacking 70.2KB will be used.
Retrieving th::geninitrd-9000.5-2.noarch.rpm...
.............................. 100.0% [39.1K (39.1K/s)]
Executing rpm --upgrade -vh --root / --noorder...
warning: /root/.poldek-cache/ftp_ftp.th.pld-linux.org.dists.th.PLD.noarch.RPMS/geninitrd-9000.5-2.noarch.rpm: Header V3 DSA signature: NOKEY, key ID e4f1bc2d
Preparing... ########################################### [100%]
Repackaging...
1:geninitrd ########################################### [100%]
Upgrading...
1:geninitrd ########################################### [100%]

Tradycyjnie, docelowo wszystkie paczki będą podpisane. Klucz leży na FTP.
Paczki możemy podpisać w sposób:

[root@conflux ~]# wget ftp://master-ftp.pld-linux.org/dists/3.0/PLD-3.0-Th-GPG-key.asc
[root@conflux ~]# rpm --import PLD-3.0-Th-GPG-key.asc
[root@conflux ~]# rpm -qi gpg-pubkey > PLD-3.0-Th-GPG-key.txt

Poprzednio dla Ac opisał to Andrzej ‘The Undefined’ Dopierała.

Jakiś czas temu kupiłem sobie Call of duty 4, koledzy z biura zachwalali ;-) Grę postawiłem na półce, obok Counter Strike Source – brak czasu na gry. Może to i lepiej. Skoro już wydałem na owe gry prawie 200 pln to warto by to wykorzystać. Domyślnie instalowana na moim lapku wista nie spisuje się, głównie ze względu na miejsce, które zabiera – prawie 10GB (!), czyli połowa przeznaczonej partycji. O zainstalowaniu w/w gier na raz nie było mowy. Rozwiązanie: albo przewymiarować partycje (przenoszenie danych, wybranie danych z partycji Linuksowej do usunięcia/przeniesienia) lub instalacja xp. Problem jednak w tym, że domyślnie xp nie obsługuje nowego sterownika AHCI. No i zaczęło się. Nie wdając się w szczegóły, pokażę rozwiązanie jakie u mnie sprawdziło się aby XP Pro SP2 pracował ze sterownikiem AHCI. Po instalacji xp zainstalowałem wszystkie dostępne poprawki, co zajmuje trochę czasu (BTW, serial: Kompania braci jest na prawdę świetny !).

[root@conflux ~]# lspci | grep -i ahci
00:1f.2 SATA controller: Intel Corporation 82801HBM/HEM (ICH8M/ICH8M-E) SATA AHCI Controller (rev 02)

wiemy już zatem, że należy szukać sterownika do 82801HBM/HEM (ICH8M/ICH8M-E). Płyta dostarczona razem z lapem zawiera te sterowniki. Jeśli ktoś ich nie ma to dostępne są tu.

1. rozpakowujemy sterowniki.
2. plik iastore.sys kopiujemy do <%SystemRoot%>\WINDOWS\system32\drivers\
operacja ta jest wykonywana dla pewności, że użyty zostanie później właściwy driver.
3. Mój komputer -> prawy klawisz myszy -> właściwości -> sprzęt -> menedżer urządzeń -> kontrolery ide ata/atapi -> intel ICH8M Ultra ATA Storage Controllers – 2850 -> prawy klawisz myszy -> aktualizuj sterownik -> pomijamy szukanie w Internecie -> instalacja z określonej lokalizacji -> wybieramy sterownik do zainstalowania -> wybieramy instalację z dysku -> wskazujemy miejsce rozpakowanego wcześniej exe-ka -> wybieramy iaahci.inf. Zatwierdzamy nowy sterownik.
4. restart, zmiana sterownika obsługującego w BIOS z ATA na AHCI.
5. modlitwa (!).
6. windows po restarcie wykrywa nowe urządzenie i prosi o ponowny restart.
7. cieszymy się win xp z AHCI.

Jeśli ktoś z Was robił to w inny sposób niż zaproponowany powyżej lub z pomocą spreparowanej przez n-lite instalki windowsa – chętnie poznam ten sposób :)

P.S.
wynalazki z redmond kojażą mi się wszystkim z wydawaniem pieniedzy. oto jak wydane pieniądze spowodowały ten wpis.