diff --git a/src/raspberrypi/controllers/scsidev_ctrl.cpp b/src/raspberrypi/controllers/scsidev_ctrl.cpp index dba09b0..89804ce 100644 --- a/src/raspberrypi/controllers/scsidev_ctrl.cpp +++ b/src/raspberrypi/controllers/scsidev_ctrl.cpp @@ -275,10 +275,10 @@ void FASTCALL SCSIDEV::Execute() CmdRezero(); return; -// // Nuvolink reset statistics -// case eCmdResetStatistics: -// CmdResetStatistics(); -// return; + // Nuvolink reset statistics + case eCmdResetStatistics: + CmdResetStatistics(); + return; // REQUEST SENSE case eCmdRequestSense: @@ -1150,19 +1150,33 @@ void FASTCALL SCSIDEV::CmdReadToc() //--------------------------------------------------------------------------- void FASTCALL SCSIDEV::CmdMediaSense(){ ASSERT(this); + LOGTRACE("<%d> Received CmdMediaSense command for Nuvolink (%s)", this->GetID(), __PRETTY_FUNCTION__); Status(); } + +void FASTCALL SCSIDEV::CmdResetStatistics(){ + DWORD lun; + + ASSERT(this); + + LOGTRACE("<%d> Received CmdResetStatistics command for Nuvolink (%s)", this->GetID(), __PRETTY_FUNCTION__); + + Status(); +} + void FASTCALL SCSIDEV::CmdSendPacket(){ ASSERT(this); + LOGTRACE("<%d> Received CmdSendPacket command for Nuvolink (%s)", this->GetID(), __PRETTY_FUNCTION__); Status(); } void FASTCALL SCSIDEV::CmdChangeMacAddr(){ ASSERT(this); + LOGTRACE("<%d> Received CmdChangeMacAddr command for Nuvolink", this->GetID()); Status(); } @@ -1171,6 +1185,7 @@ void SCSIDEV::FASTCALL CmdSetMcastReg(){ DWORD lun; ASSERT(this); + LOGTRACE("<%d> Received CmdSetMcastReg command for Nuvolink", this->GetID()); Status(); } @@ -1363,7 +1378,9 @@ void FASTCALL SCSIDEV::CmdGetMessage10() } // Error if not a host bridge - if (ctrl.unit[lun]->GetID() != MAKEID('S', 'C', 'B', 'R')) { + if ((ctrl.unit[lun]->GetID() != MAKEID('S', 'C', 'B', 'R')) && + (ctrl.unit[lun]->GetID() != MAKEID('S', 'C', 'N', 'L'))){ + LOGWARN("Received a GetMessage10 command for a non-bridge unit"); Error(); return; } diff --git a/src/raspberrypi/devices/scsi_nuvolink.cpp b/src/raspberrypi/devices/scsi_nuvolink.cpp index a740456..247e02e 100644 --- a/src/raspberrypi/devices/scsi_nuvolink.cpp +++ b/src/raspberrypi/devices/scsi_nuvolink.cpp @@ -50,6 +50,11 @@ SCSINuvolink::SCSINuvolink() : Disk() // TAP Driver Generation tap = new CTapDriver(); m_bTapEnable = tap->Init(); + if(!m_bTapEnable){ + LOGERROR("Unable to open the TAP interface"); + }else { + LOGINFO("Tap interface created") + } // Generate MAC Address memset(mac_addr, 0x00, 6); @@ -61,6 +66,8 @@ SCSINuvolink::SCSINuvolink() : Disk() // Packet reception flag OFF packet_enable = FALSE; #endif // RASCSI && !BAREMETAL + LOGTRACE("SCSINuvolink Constructor End"); + } //--------------------------------------------------------------------------- @@ -88,8 +95,8 @@ SCSINuvolink::~SCSINuvolink() int FASTCALL SCSINuvolink::Inquiry( const DWORD *cdb, BYTE *buf, DWORD major, DWORD minor) { - char rev[32]; - int size; + // char rev[32]; + // int size; WORD extended_size=0; DWORD junk_data=0; WORD junk_data_word=0; @@ -144,8 +151,8 @@ int FASTCALL SCSINuvolink::Inquiry( buf[2] = 0x02; /* SCSI 2 response type */ buf[3] = 0x02; - /* No additional length */ - buf[4] = 0; + /* Length will be 92 (96 - 4 byte header)*/ + buf[4] = 92; // Vendor name memcpy(&buf[8], m_vendor_name, strlen( m_vendor_name));