#27 Inquiry command is working

This commit is contained in:
akuker
2020-09-13 14:59:49 -05:00
parent 516d1848fa
commit 05dda11155
2 changed files with 33 additions and 9 deletions

View File

@@ -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,6 +1150,18 @@ 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();
}
@@ -1157,12 +1169,14 @@ void FASTCALL SCSIDEV::CmdMediaSense(){
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;
}

View File

@@ -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));