Load/Eject?
------------------
Status = gBS->HandleProtocol(DeviceHandle, &gEfiScsiIoProtocolGuid,
(VOID **) &ScsiIo);
if (ScsiIo) {
Target = &TargetArray[0];
ScsiIo->GetDeviceLocation (ScsiIo, &Target, &Lun);
Cdb[0] = EFI_SCSI_OP_START_STOP_UNIT;
Cdb[1] = (UINT8) (LShiftU64 (Lun, 5) &
EFI_SCSI_LOGICAL_UNIT_NUMBER_MASK);
Cdb[1] |= 0x01;
Cdb[4] = ATA_CMD_SUBOP_EJECT_DISC;
CommandPacket.Timeout = EFI_TIMER_PERIOD_SECONDS (3);
CommandPacket.Cdb = Cdb;
CommandPacket.CdbLength = (UINT8) sizeof (Cdb);
Status = ScsiIo->ExecuteScsiCommand (ScsiIo, &CommandPacket,
NULL);
}
------------------
As you previously found a DeviceHandle that correspond to your controller.
On 06.09.2013, at 19:17, David F. <[email protected]> wrote:
> but want the actual device name, also at minimum need load/eject and
> prevent/allow removal support, but really able to send any command to the
> devices. Not the controller info...
>
>
> On Fri, Sep 6, 2013 at 4:59 AM, Sergey Isakov <[email protected]> wrote:
> May be this part of codes helps you
> ----------------
> // Scan PCI handles
> Status = gBS->LocateHandleBuffer (
> ByProtocol,
> &gEfiPciIoProtocolGuid,
> NULL,
> &HandleCount,
> &HandleArray
> );
> if (!EFI_ERROR (Status)) {
> for (Index = 0; Index < HandleCount; Index++) {
> Status = gBS->HandleProtocol (
> HandleArray[Index],
> &gEfiPciIoProtocolGuid,
> (VOID **)&PciIo
> );
> if (!EFI_ERROR (Status)) {
> // Read PCI BUS
> Status = PciIo->GetLocation (PciIo, &Segment, &Bus, &Device,
> &Function);
> Status = PciIo->Pci.Read (
> PciIo,
> EfiPciIoWidthUint32,
> 0,
> sizeof (Pci) / sizeof (UINT32),
> &Pci
> );
> Print(L"PCI (%02x|%02x:%02x.%02x) : %04x %04x class=%02x%02x%02x\n",
> Segment, Bus, Device, Function,
> Pci.Hdr.VendorId, Pci.Hdr.DeviceId,
> Pci.Hdr.ClassCode[2], Pci.Hdr.ClassCode[1], Pci.Hdr.ClassCode[0]);
>
> ----------------
> The same is possible for ExtScsiPassTru protocol
>
> Regards,
> Sergey
>
> On 06.09.2013, at 9:40, David F. <[email protected]> wrote:
>
>> Yes, but to do it right you really need the SCSI Pass Through Interface to
>> talk directly with the device as you may need to send setup or blank
>> commands, etc... Also for ATA devices, be nice for the various commands
>> dealing with their command set.
>>
>>
>>
>>
>>
>> On Thu, Sep 5, 2013 at 7:42 PM, Sergey Isakov <[email protected]> wrote:
>> Hi David,
>> I am not understanding what are you going to do. How did you propose to burn
>> DVD in UEFI mode? Do you have such UEFI application to burn DVD?
>> Sergey.
>>
>> On 06.09.2013, at 6:22, David F. <[email protected]> wrote:
>>
>> > Well, without any passthru support, I'm not sure how I'm, as an
>> > application, supposed to get the device names of the various hard drives
>> > and dvd drives in the system? Also, how you would be able to burn a CD/DVD
>> > and send the various commands to setup for the burn. I see the Visual
>> > BIOS on the system has all the name, so there must be a way without
>> > essentially turning off all UEFI services and writing a raw DOS like
>> > program to directly program the SATA/PATA controllers like the old days?
>> > Strange?
>> >
>> > Does anyone have the answer??
>> >
>> > TIA!!
>> >
>> > ------------------------------------------------------------------------------
>> > Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
>> > Discover the easy way to master current and previous Microsoft technologies
>> > and advance your career. Get an incredible 1,500+ hours of step-by-step
>> > tutorial videos with LearnDevNow. Subscribe today and save!
>> > http://pubads.g.doubleclick.net/gampad/clk?id=58041391&iu=/4140/ostg.clktrk_______________________________________________
>> > edk2-devel mailing list
>> > [email protected]
>> > https://lists.sourceforge.net/lists/listinfo/edk2-devel
>>
>>
>> ------------------------------------------------------------------------------
>> Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
>> Discover the easy way to master current and previous Microsoft technologies
>> and advance your career. Get an incredible 1,500+ hours of step-by-step
>> tutorial videos with LearnDevNow. Subscribe today and save!
>> http://pubads.g.doubleclick.net/gampad/clk?id=58041391&iu=/4140/ostg.clktrk
>> _______________________________________________
>> edk2-devel mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/edk2-devel
>>
>> ------------------------------------------------------------------------------
>> Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
>> Discover the easy way to master current and previous Microsoft technologies
>> and advance your career. Get an incredible 1,500+ hours of step-by-step
>> tutorial videos with LearnDevNow. Subscribe today and save!
>> http://pubads.g.doubleclick.net/gampad/clk?id=58041391&iu=/4140/ostg.clktrk_______________________________________________
>> edk2-devel mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/edk2-devel
>
>
> ------------------------------------------------------------------------------
> Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
> Discover the easy way to master current and previous Microsoft technologies
> and advance your career. Get an incredible 1,500+ hours of step-by-step
> tutorial videos with LearnDevNow. Subscribe today and save!
> http://pubads.g.doubleclick.net/gampad/clk?id=58041391&iu=/4140/ostg.clktrk
> _______________________________________________
> edk2-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/edk2-devel
>
>
> ------------------------------------------------------------------------------
> Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
> Discover the easy way to master current and previous Microsoft technologies
> and advance your career. Get an incredible 1,500+ hours of step-by-step
> tutorial videos with LearnDevNow. Subscribe today and save!
> http://pubads.g.doubleclick.net/gampad/clk?id=58041391&iu=/4140/ostg.clktrk_______________________________________________
> edk2-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/edk2-devel
------------------------------------------------------------------------------
Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
Discover the easy way to master current and previous Microsoft technologies
and advance your career. Get an incredible 1,500+ hours of step-by-step
tutorial videos with LearnDevNow. Subscribe today and save!
http://pubads.g.doubleclick.net/gampad/clk?id=58041391&iu=/4140/ostg.clktrk
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-devel