So here's what I found on the system that said it supported ATA pass-thru.

1 - running the ATA Pass Thru .GetDevice function fails when it doesn't
seem like it should. (Sata (0x10,0x0) and Sata(0x1,0x0))
2 - the childpath returned in the sample where two SATA pass-thru block
devices found had:  DVD drive: Port 10, MultiPort 0x8000, Lun 0 and Hard
Drive: Port 1, MultiPort 0x8000, Lun 0.
3 - looping for an Identify Device command for all ports 0-254 and all
multi ports 0-0xFFFF found something responding on Port 0, MultiPort 0
(which match none of the device paths).
4 - looping for an Identify Packet Device command with the same loop,
nothing responds (The DVD should have).

argh..




On Fri, Sep 6, 2013 at 5:08 PM, David F. <[email protected]> wrote:

> yeah, nothing about the actual device names...
>
> Anyway, that HP BIOS updated allowed me to test on another system, that
> one ATA pass-thru is available.  SCSI pass-thru not (for USB/etc).  On the
> ATA pass-thru it returns unsupported error for .GetDevice but the devpath
> sent to it is basically just the SATA tail end (I could pull out the ports
> from it myself), but wonder if it's a bug or if I don't understand it.
> Here's a basic run down:
>
> (again you can forget about the "safe" stuff, it is opening
> BY_HANDLE_PROTOCOL but emulating the function calls)
>
> SAFE_OPEN_PROTOCOL_LIB_HANDLE
> *SafeOpenParentProtocol(EFI_DEVICE_PATH_PROTOCOL *devpath, EFI_GUID
> *protoguid, void **protocol, EFI_DEVICE_PATH_PROTOCOL **childpath)
> {
>   SAFE_OPEN_PROTOCOL_LIB_HANDLE *safehandle=NULL;
>
>   // first look for handle to device with protocol for a given device path
>   EFI_HANDLE devhandle;
>   EFI_STATUS status=UEFI_BS->LocateDevicePath(protoguid, &devpath,
> &devhandle);
>   if (!EFI_ERROR(status)) {
>     // found the protocol - now open the protocol
>     safehandle=SafeOpenProtocol(devhandle, protoguid, protocol, NULL);
>   }
>   *childpath=devpath;
>
>   // return to caller
>   return safehandle;
> }
>
>
> SAFE_OPEN_PROTOCOL_LIB_HANDLE *safeatahandle;
> EFI_ATA_PASS_THRU_PROTOCOL *ata;
> EFI_DEVICE_PATH_PROTOCOL *childpath;
> // devpath going in to it contains:
> PciRoot(0x0)/Pci(0x1F,0x02)/Sata(0x10,0x0)
> if ((safeatahandle=SafeOpenParentProtocol(devpath,
> &gEfiAtaPassThruProtocolGuid, (void**) &ata, &childpath))!=NULL) {
> // childpath coming out contains: Sata(0x10,0x0)
>   // lock down protocol
>   if (SafeOpenProtocolBeginCriticalSection(safeatahandle)==0) {
>     // let's get the ATA port information
>     status=ata->GetDevice(ata, childpath, &uefidev->ATAPort,
> &uefidev->ATAPortMultiplierPort);
>     Print(L"%r\r\n", status); // prints unsupported
>     ...
>
>
> So I think my code is correct but a bug in the HP BIOS provided to them?
> (that bios also has a lock up issue which I haven't dug into yet)...
>
>
>
>
>
> On Fri, Sep 6, 2013 at 4:29 PM, Andrew Fish <[email protected]> wrote:
>
>> You can also try devtree, and devices shell commands.
>>
>> Thanks,
>>
>>  Andrew Fish
>>
>>
>> On Sep 6, 2013, at 4:03 PM, "David F." <[email protected]> wrote:
>>
>> BIOS update fixes it ... now to see what protocols they have.
>>
>>
>>
>> On Fri, Sep 6, 2013 at 3:42 PM, David F. <[email protected]> wrote:
>>
>>> >An HP laptop does not
>>>
>>> actually it must be booting ok, just no screen.  I tried mode 80 25,
>>> mode 128 40, mode 80 43, typing blind and nothing changed, so then I just
>>> type reset and press enter and that did reset so the shell must be
>>> operating, just video issue.
>>>
>>>
>>> On Fri, Sep 6, 2013 at 2:42 PM, David F. <[email protected]> wrote:
>>>
>>>> yes, the intel board boots the to the shell I put on a UFD.   An HP
>>>> laptop does not, however a different HP desktop system does boot to it.  dh
>>>> command has a lot of nonsense in it with unknown's and then saw some normal
>>>> device paths.  dh -p diskio says can't find anything, dh -p blockio says
>>>> can't find anything, nothing that gives the name of the various attached
>>>> devices.
>>>>
>>>>
>>>>
>>>> On Fri, Sep 6, 2013 at 2:19 PM, Sergey Isakov <[email protected]> wrote:
>>>>
>>>>> Are you able to start a shell.efi? Else what about you?
>>>>>
>>>>> On 07.09.2013, at 1:02, David F. <[email protected]> wrote:
>>>>>
>>>>> This is an application for an Intel motherboard.  So it only has
>>>>> whatever they put on it ...
>>>>>
>>>>>
>>>>> On Fri, Sep 6, 2013 at 1:28 PM, Sergey Isakov <[email protected]> wrote:
>>>>>
>>>>>> So you should go from initial. What drivers do you have installed?
>>>>>> What protocols they are produced?
>>>>>> Do you have HandleBuffer?
>>>>>> Did you see output from dh command is a Shell?
>>>>>>
>>>>>> On 06.09.2013, at 21:19, David F. <[email protected]> wrote:
>>>>>>
>>>>>> Sergey,
>>>>>>
>>>>>> Yes, thanks, that be nice but the problem is there is no Pass Thru or
>>>>>> Scsi IO interfaces found.  Used LocateHandleBuffer and nothing was
>>>>>> returned  (not found), tried for all 3, ATA Pass Thru, SCSI Pass Thru, 
>>>>>> and
>>>>>> Scsi IO.   I'd like to see those be "required" when those type of devices
>>>>>> exist.
>>>>>>
>>>>>> Andrew,
>>>>>>
>>>>>> Thanks, I'll check that part out, but still really need those pass
>>>>>> thru type commands.  Very useful on systems.
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Fri, Sep 6, 2013 at 9:56 AM, Andrew Fish <[email protected]> wrote:
>>>>>>
>>>>>>>
>>>>>>> On Sep 5, 2013, at 7:22 PM, 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??
>>>>>>> >
>>>>>>>
>>>>>>> What is returned for the ComponentName? This should be the human
>>>>>>> readable name of the device.
>>>>>>>
>>>>>>>
>>>>>>> https://svn.code.sf.net/p/edk2/code/trunk/edk2/MdePkg/Include/Protocol/ComponentName.h
>>>>>>>
>>>>>>> https://svn.code.sf.net/p/edk2/code/trunk/edk2/MdePkg/Include/Protocol/ComponentName2.h
>>>>>>>
>>>>>>> Thanks,
>>>>>>>
>>>>>>> Andrew Fish
>>>>>>>
>>>>>>> > 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
>>>>>
>>>>>
>>>>
>>>
>>
>> ------------------------------------------------------------------------------
>> 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

Reply via email to