Projekty

STLab IDE RAID IT8212R – testy i modyfikacja BIOS

Kontroler PCI STLab IDE RAID IT8212R – kupiłem go za 10zł na olx. Kontroler okazał się idealnym zakupem, jednak jak się okazało, wymagał pewnych modyfikacji.

Specyfikacja:

  • Układ: ITE IT8212F
  • ATA: 2 porty ATA 133 (2 urządzenia na port)
  • RAID: RAID 0, RAID 1, RAID 0+1, JBOD, IDE
  • PCI: 2.2
  • OS: 98SE/Me/XP/NT 4.0/2000, Linux
  • Tryby: PIO, DMA, UDMA
  • Inne: 512 bajtów bufora FIFO na kanał, 2x złącza na diody sygnalizujące aktywność

Testy

Na sam początek przeprowadziłem kilka testów czy kontroler na pewno jest w pełni sprawny i czy spełni moje wymagania. Testowałem go pod Lubuntu oraz Windowsem XP Pro SP3.
Podłączałem do niego dyski pojedynczo, po 2 na port i tak dalej. Pod Windowsem testowałem stabilność za pomocą CrystalDiskMark a pod Linuxem sprawdzałem ogół działania. Testy zakończyły się pomyślnie.
Uznałem jednak, że skoro jest to kontroler RAID, to gdzie są ustawienia? Zwykle podczas procesu POST powinien pokazać się interfejs kontrolera ze skrótem klawiszowym dzięki któremu dostaniemy się do setupu – u mnie tego nie było. Okazało się że mam starą wersję BIOSu.

O co więc chodzi?

Kontrolery oparte o ten układ produkowane są przez różnych producentów. Mi trafił się kontroler wyprodukowany przez STLab. Kontroler posiada również BIOS który pozwala uruchamiać systemy z urządzeń podłączonych do kontrolera, tworzyć macierze RAID i konfigurować kontroler. Większość producentów do tej konstrukcji montuje kość BIOS EEPROM (Electrically Erasable Programmable Read Only Memory) która umożliwia wielokrotne kasowanie i zapisywanie wsadu (ROM). Niestety STLab postanowił na swojej konstrukcji zamontować 1Mb (128Kb x 8bit) kość EPROM (Electrically Programmable Read Only Memory) typu OTP (One Time Programmable).

Rodzaj kości OTP umożliwia tylko jedno zaprogramowanie, i jakiekolwiek zmiany we wsadzie ROM nie są już możliwe. Wszelkie aktualizacje czy kasowanie nie wchodzą w grę i zakończą się niepowodzeniem – tak jak w moim przypadku.

Oszukiwania czas start!

Postanowiłem jednak przechytrzyć trochę producenta, i tak zmodyfikować kartę, bym mógł do woli aktualizować BIOS kontrolera.
Zabrałem się więc do poszukiwań odpowiedniej kostki EEPROM. Wyszukałem notę katalogową oryginalnej kości EPROM (Holtek HT27C010-70) i poczytałem parametry tejże kości.
W swoim zbiorze elementów elektronicznych znalazłem kośc EEPROM (SST 39SF512) o prawie że identycznych parametrach co oryginał – różnica to mniejsza pojemność (oryginał 1Mb (128Kb x 8bit) a zamiennik 512Kb (64Kb x 8bit)) oraz brak w zamienniku pinu adresowego A16 (z powodu mniejszej pojemności).

Bałem się że mniejsza pojemność będzie powodowała problemy – jednak sam wsad waży 49152 bajtów co w przeliczeniu na kilobity daje ~393Kb, czyli mniej niż 512Kb (mam nadzieję że nic nie pomyliłem w obliczeniach XD ). Wniosek? Producent niepotrzebnie dawał kość 1Mb bo nawet kość o 50% mniejsza da sobie radę.

Rozkład pinów się częściowo zgadza, parametry również, pojemność pasuje. Zostało to tylko wypróbować.
Wylutowałem więc hot airem oryginalną kostkę. Następnie lutownicą i sporą ilością topnika „wyrównałem” cynę na polach lutowniczych i hot airem ponownie wlutowałem nową kostkę.

Ponownie testy…

Poczekałem aż karta ostygnie. Przygotowałem platformę testową, podłączyłem kontroler (bez dysków) i uruchomiłem sprzęt. Nic nie wybuchło, nie przegrzało się. Kontroler jak na razie był martwy (w końcu nie ma wsadu BIOS).
uruchomiłem więc MS-DOS 6.22 a po jego załadowaniu włożyłem dyskietkę z UniFlash’em, wsadem BIOS oraz flasherem oficjalnym od ITE.
Na początek uruchomiłem UniFlasha z obsługą kart PCI (polecenie „uniflash -pcirom”) i wybrałem odpowiednią kartę (kontroler ma na liście oznaczenie VEN=1283 DEV=8212. Jeśli takowego nie widzisz, nie wybieraj innych kart bo możesz coś uszkodzić). UniFlash niestety źle rozpoznał kość jako 16Kb x 4bit i nie chciał pozwolić wgrać pliku z powodu małej pojemności kostki.

Spróbowałem jednak z flasherem od ITE – ITEFLASH2011.EXE (w przyszłości pliki udostępnię za pomocą FTP). Uruchomiłem flasher – wykrył kość, zweryfikował, zrzucił plik backup i poprosił o nowy plik BIOS. Podałem plik i rozpoczęła się weryfikacja, wymazywanie i wgrywanie – zakończono pomyślnie!

Uruchomiłem sprzęt ponownie… UDAŁO SIĘ! Nowy ekran BIOSu kontrolera, pojawiły się skróty klawiszowe odpowiedzialne za dostęp do setupu. Setup kontrolera również działał, macierze RAID/IDE tworzyły się i zapisywały poprawnie. W BIOSie płyty głównej była widoczna macierz jak i dyski. Wszystko działa w jak najlepszym porządku!

Dziękuję za czytanie. Zapraszam na facebooka oraz do komentowania i udostępniania.

Aveo

Moją główną pasją jest informatyka i retroinformatyka. Interesuję się również przemysłem ciężkim takim jak kopalnie czy kolej. A co za tym idzie również nie pogardzę urbexem, fotografowaniem, dokumentowaniem różnych miejsc i obiektów. Poza tym zajmuję się okazjonalnie ogólną elektroniką oraz robotyką. Posiadam małą hodowlę roślin owadożernych, lubię geocaching. Należę również do fandomu furry; Uwielbiam cyberpunk i podobne.

Disqus Comments Loading...