Skip to content

VAXstation 3100 no longer boots on latest release #769

@Pacjunk

Description

@Pacjunk

Info

  • Which version of Pi are you using: Zero W
  • Which github revision of software: Release v22.05.02
  • Which board version: FullSpec
  • Which computer is the RaSCSI connected to: VAXstation 3100.

Describe the issue

Changes to the modesense(6) code (#699) is now preventing the VAXstation from booting. Previous versions worked fine. The latest version does not allow page 0, and this is required by the boot ROM. The latest version works fine using the operating system driver, but not the boot driver in ROM. Attached is relevant part of trace:

Jul 04 16:30:59 raspberrypi RASCSI[432]: [2022-07-04 16:30:59.232] [trace] virtual void SCSIDEV::Selection() Selection Phase ID=2 (with device)
Jul 04 16:30:59 raspberrypi RASCSI[432]: [2022-07-04 16:30:59.232] [trace] virtual void SCSIDEV::Selection() Initiator ID is 6
Jul 04 16:30:59 raspberrypi RASCSI[432]: [2022-07-04 16:30:59.232] [trace] virtual void SASIDEV::Command() Command Phase
Jul 04 16:30:59 raspberrypi RASCSI[432]: [2022-07-04 16:30:59.232] [trace] virtual void SASIDEV::Command() CDB[0]=$1A
Jul 04 16:30:59 raspberrypi RASCSI[432]: [2022-07-04 16:30:59.232] [trace] virtual void SASIDEV::Command() CDB[1]=$00
Jul 04 16:30:59 raspberrypi RASCSI[432]: [2022-07-04 16:30:59.232] [trace] virtual void SASIDEV::Command() CDB[2]=$00
Jul 04 16:30:59 raspberrypi RASCSI[432]: [2022-07-04 16:30:59.232] [trace] virtual void SASIDEV::Command() CDB[3]=$00
Jul 04 16:30:59 raspberrypi RASCSI[432]: [2022-07-04 16:30:59.233] [trace] virtual void SASIDEV::Command() CDB[4]=$0C
Jul 04 16:30:59 raspberrypi RASCSI[432]: [2022-07-04 16:30:59.233] [trace] virtual void SASIDEV::Command() CDB[5]=$00
Jul 04 16:30:59 raspberrypi RASCSI[432]: [2022-07-04 16:30:59.233] [trace] virtual void SCSIDEV::Execute() Execution phase command $1A
Jul 04 16:30:59 raspberrypi RASCSI[432]: [2022-07-04 16:30:59.233] [debug] ++++ CMD ++++ virtual void SCSIDEV::Execute() Executing command $1A
Jul 04 16:30:59 raspberrypi RASCSI[432]: [2022-07-04 16:30:59.233] [debug] bool Dispatcher<T, U>::Dispatch(T*, U*) [with T = ModePageDevice; U = SASIDEV] Executing ModeSense6 ($1A)
Jul 04 16:30:59 raspberrypi RASCSI[432]: [2022-07-04 16:30:59.233] [trace] int ModePageDevice::AddModePages(const DWORD*, BYTE*, int) Requesting mode page $00
Jul 04 16:30:59 raspberrypi RASCSI[432]: [2022-07-04 16:30:59.233] [trace] int ModePageDevice::AddModePages(const DWORD*, BYTE*, int) Unsupported mode page $00
Jul 04 16:30:59 raspberrypi RASCSI[432]: [2022-07-04 16:30:59.233] [debug] Error status: Sense Key $05, ASC $24, ASCQ $00
Jul 04 16:30:59 raspberrypi RASCSI[432]: [2022-07-04 16:30:59.233] [trace] virtual void SCSIDEV::Error(scsi_defs::sense_key, scsi_defs::asc, scsi_defs::status) Error (to status phase)
Jul 04 16:30:59 raspberrypi RASCSI[432]: [2022-07-04 16:30:59.233] [trace] void SASIDEV::Status() Status phase
Jul 04 16:30:59 raspberrypi RASCSI[432]: [2022-07-04 16:30:59.233] [trace] void SASIDEV::Status() Status Phase $02
Jul 04 16:30:59 raspberrypi RASCSI[432]: [2022-07-04 16:30:59.233] [trace] virtual void SCSIDEV::Send() Sending handhake with offset 0, length 1
Jul 04 16:30:59 raspberrypi RASCSI[432]: [2022-07-04 16:30:59.233] [trace] virtual void SCSIDEV::Send() Move to next phase status (8)
Jul 04 16:30:59 raspberrypi RASCSI[432]: [2022-07-04 16:30:59.233] [trace] void SASIDEV::MsgIn() Starting Message in phase
Jul 04 16:30:59 raspberrypi RASCSI[432]: [2022-07-04 16:30:59.234] [trace] void SASIDEV::MsgIn() Transitioning to Send()
Jul 04 16:30:59 raspberrypi RASCSI[432]: [2022-07-04 16:30:59.234] [trace] virtual void SCSIDEV::Send() Sending handhake with offset 0, length 1
Jul 04 16:30:59 raspberrypi RASCSI[432]: [2022-07-04 16:30:59.234] [trace] void SASIDEV::MsgIn() Transitioning to Send()
Jul 04 16:30:59 raspberrypi RASCSI[432]: [2022-07-04 16:30:59.234] [trace] virtual void SCSIDEV::Send() Move to next phase msgin (9)

The boot ROM tries this 3 times, then gives up. Since RASCSI supports retro systems, shouldn't it allow things like this (even though it may not be part of the latest spec)?

Thanks,

Metadata

Metadata

Assignees

No one assigned

    Labels

    compatibilityCompatibility with particular computing platforms

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions