i'm trying to convert a QNAP TS-419P NAS to a FreeNAS setup. Yes that's an ARM based device.. BUT :
The little 4 drive box actualy contains a mini ITX size arm based mother board connected to the hard disk backplane through a PCI-E x4 connector. The actual sata controller for the 4 drives is on the backplane itself ! It contains a Marvel 88SX4072 Sata2 controller.
So my hobby project is to ditch the ARM based motherboard, and hookup the harddisk backplane to something intel based through the PCI-E connector. (Just for the fun of it, no production nas)
In my case, its a little Intel NUC board. I first plugged in an M.2 -> PCI-E x4 converter board. After supplying the board with an external 5V/12V power feed (there a floppy drive header on the converter board for that) i plugged in an intel based PCI-E x4 NIC and this works great !
Next was to plug the QNAP harddisk backplane in to the NUC.
When i boot up FreeNAS the marvel chip shows up nicely, and so do the first 2 harddisk drives plugged in ! :)
Boot output :
mvs0: <Marvell 88SX7042 SATA controller> port 0xe000-0xe0ff mem 0xdf000000-0xdf0fffff irq 16 at device 0.0 on pci1
mvs0: Gen-IIe, 4 3Gbps ports, Port Multiplier supported with FBS
mvsch0: <Marvell SATA channel> at channel 0 on mvs0
mvsch1: <Marvell SATA channel> at channel 1 on mvs0
mvsch2: <Marvell SATA channel> at channel 2 on mvs0
mvsch3: <Marvell SATA channel> at channel 3 on mvs0
..
..
ada0 at mvsch0 bus 0 scbus1 target 0 lun 0
ada0: <WDC WD2002FYPS-01U1B1 04.05G05> ATA8-ACS SATA 2.x device
ada0: Serial Number WD-WCAVY4816819
ada0: 300.000MB/s transfers (SATA 2.x, UDMA6, PIO 8192bytes)
ada0: Command Queueing enabled
ada0: 1907729MB (3907029168 512 byte sectors)
ada1 at mvsch1 bus 0 scbus2 target 0 lun 0
ada1: <WDC WD2002FYPS-02W3B0 04.01G01> ATA8-ACS SATA 2.x device
ada1: Serial Number WD-WCAVY6793666
ada1: 300.000MB/s transfers (SATA 2.x, UDMA6, PIO 8192bytes)
ada1: Command Queueing enabled
ada1: 1907729MB (3907029168 512 byte sectors)
..
Problem is, only the first 2 drives show up. The drives plugged into slots 3 and 4 dont show up. The marvel chip is recognized as itself :
lspci -vv output :
01:00.0 SCSI storage controller: Marvell Technology Group Ltd. 88SX7042 PCI-e 4-port SATA-II (rev 02)
Subsystem: Marvell Technology Group Ltd. Device 11ab
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0
Interrupt: pin A routed to IRQ 16
Region 0: Memory at df000000 (64-bit, non-prefetchable)
Region 2: I/O ports at e000
Capabilities: [40] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME+
Capabilities: [50] MSI: Enable- Count=1/1 Maskable- 64bit+
Address: 0000000000000000 Data: 0000
Capabilities: [60] Express (v1) Legacy Endpoint, MSI 00
DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s <256ns, L1 <1us
ExtTag- AttnBtn- AttnInd- PwrInd- RBE- FLReset-
DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
MaxPayload 256 bytes, MaxReadReq 512 bytes
DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-
LnkCap: Port #0, Speed 2.5GT/s, Width x4, ASPM L0s, Exit Latency L0s <256ns, L1 unlimited
ClockPM- Surprise- LLActRep- BwNot- ASPMOptComp-
LnkCtl: ASPM Disabled; RCB 128 bytes Disabled- CommClk+
ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
I have not been able to find a datasheet for the 88sx7042 chip, but i think it contains a sata multiplier. Which is fine with me, this thing does not have to be lightning fast. But why only see the first 2 channels ? Only drives plugged in to the first 2 channels are recognized.. drives in the last 2 channels are always ignored, even with the first to empty.
Any clues on this ??????
The little 4 drive box actualy contains a mini ITX size arm based mother board connected to the hard disk backplane through a PCI-E x4 connector. The actual sata controller for the 4 drives is on the backplane itself ! It contains a Marvel 88SX4072 Sata2 controller.
So my hobby project is to ditch the ARM based motherboard, and hookup the harddisk backplane to something intel based through the PCI-E connector. (Just for the fun of it, no production nas)
In my case, its a little Intel NUC board. I first plugged in an M.2 -> PCI-E x4 converter board. After supplying the board with an external 5V/12V power feed (there a floppy drive header on the converter board for that) i plugged in an intel based PCI-E x4 NIC and this works great !
Next was to plug the QNAP harddisk backplane in to the NUC.
When i boot up FreeNAS the marvel chip shows up nicely, and so do the first 2 harddisk drives plugged in ! :)
Boot output :
mvs0: <Marvell 88SX7042 SATA controller> port 0xe000-0xe0ff mem 0xdf000000-0xdf0fffff irq 16 at device 0.0 on pci1
mvs0: Gen-IIe, 4 3Gbps ports, Port Multiplier supported with FBS
mvsch0: <Marvell SATA channel> at channel 0 on mvs0
mvsch1: <Marvell SATA channel> at channel 1 on mvs0
mvsch2: <Marvell SATA channel> at channel 2 on mvs0
mvsch3: <Marvell SATA channel> at channel 3 on mvs0
..
..
ada0 at mvsch0 bus 0 scbus1 target 0 lun 0
ada0: <WDC WD2002FYPS-01U1B1 04.05G05> ATA8-ACS SATA 2.x device
ada0: Serial Number WD-WCAVY4816819
ada0: 300.000MB/s transfers (SATA 2.x, UDMA6, PIO 8192bytes)
ada0: Command Queueing enabled
ada0: 1907729MB (3907029168 512 byte sectors)
ada1 at mvsch1 bus 0 scbus2 target 0 lun 0
ada1: <WDC WD2002FYPS-02W3B0 04.01G01> ATA8-ACS SATA 2.x device
ada1: Serial Number WD-WCAVY6793666
ada1: 300.000MB/s transfers (SATA 2.x, UDMA6, PIO 8192bytes)
ada1: Command Queueing enabled
ada1: 1907729MB (3907029168 512 byte sectors)
..
Problem is, only the first 2 drives show up. The drives plugged into slots 3 and 4 dont show up. The marvel chip is recognized as itself :
lspci -vv output :
01:00.0 SCSI storage controller: Marvell Technology Group Ltd. 88SX7042 PCI-e 4-port SATA-II (rev 02)
Subsystem: Marvell Technology Group Ltd. Device 11ab
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0
Interrupt: pin A routed to IRQ 16
Region 0: Memory at df000000 (64-bit, non-prefetchable)
Region 2: I/O ports at e000
Capabilities: [40] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME+
Capabilities: [50] MSI: Enable- Count=1/1 Maskable- 64bit+
Address: 0000000000000000 Data: 0000
Capabilities: [60] Express (v1) Legacy Endpoint, MSI 00
DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s <256ns, L1 <1us
ExtTag- AttnBtn- AttnInd- PwrInd- RBE- FLReset-
DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
MaxPayload 256 bytes, MaxReadReq 512 bytes
DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-
LnkCap: Port #0, Speed 2.5GT/s, Width x4, ASPM L0s, Exit Latency L0s <256ns, L1 unlimited
ClockPM- Surprise- LLActRep- BwNot- ASPMOptComp-
LnkCtl: ASPM Disabled; RCB 128 bytes Disabled- CommClk+
ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
I have not been able to find a datasheet for the 88sx7042 chip, but i think it contains a sata multiplier. Which is fine with me, this thing does not have to be lightning fast. But why only see the first 2 channels ? Only drives plugged in to the first 2 channels are recognized.. drives in the last 2 channels are always ignored, even with the first to empty.
Any clues on this ??????
Last edited by a moderator: