Description of problem: Onboard HPT372N on EPOX EP-4PDA2+ is not correctly/fully detected, i.e. there are the strange characters as shown below and only the first channel gets recognized. The highpoint provided (opensource) driver seems to work fine, despite the fact that it is made as a scsi driver and doesn't support most of SMART. log --- Jun 21 18:10:51 bserv kernel: \203ìD\203ÃTÃ211ö203ì\\213D$ \215T$^T\211\$^X\213\$(\211D$^D\211^T$\211 \$^HÃ$^L^A: IDE controller at PCI slot 02:00.0 Jun 21 18:10:51 bserv ez-ipupdate: ez-ipupdate startup succeeded Jun 21 18:10:51 bserv kernel: \203ìD\203ÃTÃ211ö203ì\\213D$ \215T$^T\211\$^X\213\$(\211D$^D\211^T$\211 \$^HÃ$^L^A: chipset revision 6 Jun 21 18:10:51 bserv kernel: \203ìD\203ÃTÃ211ö203ì\\213D$ \215T$^T\211\$^X\213\$(\211D$^D\211^T$\211 \$^HÃ$^L^A: not 100%% native mode: will probe irqs later Jun 21 18:10:51 bserv kernel: hpt: HPT372N detected, using 372N timing. Jun 21 18:10:51 bserv kernel: FREQ: 82 PLL: 35 Jun 21 18:10:51 bserv kernel: HPT37X: using 50MHz internal PLL Jun 21 18:10:51 bserv kernel: ide2: BM-DMA at 0x8000-0x8007, BIOS settings: hde:DMA, hdf:pio Jun 21 18:10:51 bserv kernel: HPT372N support is EXPERIMENTAL ONLY. --- Interesting to note: With the original (oldest) bios the chip gets detected as rev5 and now as rev6. The print on the chip says HPT 372N. old log (with kernel-2.4.20-8smp) --- Jun 15 19:45:07 bserv kernel: HPT372: IDE controller at PCI slot 02:00.0 Jun 15 19:45:07 bserv kernel: HPT372: chipset revision 5 Jun 15 19:45:07 bserv kernel: HPT372: not 100%% native mode: will probe irqs later Jun 15 19:45:07 bserv kernel: HPT37X: using 33MHz PCI clock Jun 15 19:45:07 bserv kernel: ide2: BM-DMA at 0x8000-0x8007, BIOS settings: hde:DMA, hdf:pio Jun 15 19:45:07 bserv kernel: ide3: BM-DMA at 0x8008-0x800f, BIOS settings: hdg:pio, hdh:pio --- Version-Release number of selected component (if applicable): 2.4.20-18.9(smp, up give same results) How reproducible: always with BIOS dated 2003-06-11
The corruption is a long standing bug. Why it chose to bite you know and nobody before I'm not sure. Fixed in my tree hopefully:
Created attachment 92524 [details] Patch to fix highpoint corruption/loss of second channel There are two bugs here, one harmless by luck (copying not assigning pointers to the string) and one nasty (not checking revision out of range cases for old style 372N with did/rid ident but not the new PCI identifier). The second caused a random data copy which trashed the detect bits so hid the other channel. Added to 2.4.21-ac build tree
the patch only solved the cosmetic problem, second channel is still not there log --- Jun 22 20:25:18 bserv kernel: HPT366: IDE controller at PCI slot 02:00.0 Jun 22 20:25:18 bserv kernel: HPT366: chipset revision 6 Jun 22 20:25:18 bserv kernel: HPT366: not 100%% native mode: will probe irqs later Jun 22 20:25:18 bserv kernel: hpt: HPT372N detected, using 372N timing. Jun 22 20:25:18 bserv kernel: FREQ: 82 PLL: 35 Jun 22 20:25:18 bserv kernel: HPT37X: using 50MHz internal PLL Jun 22 20:25:18 bserv kernel: ide2: BM-DMA at 0x8000-0x8007, BIOS settings: hde:DMA, hdf:pio Jun 22 20:25:18 bserv kernel: HPT372N support is EXPERIMENTAL ONLY. --- /proc/ide/hpt366 --- HighPoint HPT366/368/370/372/374 Controller: 0 Chipset: HPT302 --------------- Primary Channel --------------- Secondary Channel -------------- Enabled: yes yes Cable: ATA-66 ATA-66 --------------- drive0 --------- drive1 ------- drive0 ---------- drive1 ------- DMA capable: yes no no no Mode: UDMA off UDMA off --- the output from the highpoint driver --- Jun 22 20:28:53 bserv kernel: Device Driver for HPT37x2 ATA RAID Controller Jun 22 20:28:53 bserv kernel: Version 1.31, Compiled Jun 21 2003 17:33:13 Jun 22 20:28:53 bserv kernel: Found Controller: HPT372N UDMA/ATA133 RAID Controller Jun 22 20:28:53 bserv kernel: scsi1 : hpt37x2 Jun 22 20:28:53 bserv kernel: Vendor: Maxtor 6 Model: Y060L0 Rev: YAR4 Jun 22 20:28:53 bserv kernel: Type: Direct-Access ANSI SCSI revision: 02 Jun 22 20:28:53 bserv kernel: Vendor: Maxtor 6 Model: Y060L0 Rev: YAR4 Jun 22 20:28:53 bserv kernel: Type: Direct-Access ANSI SCSI revision: 02 ---
lspci -v: --- 02:00.0 RAID bus controller: Triones Technologies, Inc. HPT366/368/370/370A/372 (rev 06) Subsystem: Triones Technologies, Inc. HPT370A Flags: bus master, 66Mhz, medium devsel, latency 64, IRQ 22 I/O ports at 7000 [size=8] I/O ports at 7400 [size=4] I/O ports at 7800 [size=8] I/O ports at 7c00 [size=4] I/O ports at 8000 [size=256] Expansion ROM at <unassigned> [disabled] [size=128K] Capabilities: [60] Power Management version 2 ---
I tested again with 2.4.21-ac4, no change compared to 2.4.20-18.9+patch still no second channel :(
second channel still missing in 2.4.21-20.1.2024.2.1.nptl (severn) alan?
Created attachment 94485 [details] typo fix patch for typo in hpt366.c
Created attachment 94486 [details] fix for hpt372n (id4,rev6) patches already went to alan and lkml
Queued for -ac - looks right
it's in 2.4.22-ac3 so it should be also in recent rawhide kernels