Open GoogleCodeExporter opened 8 years ago
If I boot from USB-FLash + USB-Flash
usb --init shows 0x80, 0x82
Access is all OK.
Is problem to do with USB-HDD?
Original comment by Steve6375
on 6 Feb 2014 at 4:52
The WD Passport USB HDD, when booted from by itself, displays
devices found 0x80, 0x00
This is same even if USB Flash drive is also connected.
The WD has two USB IDs. one is WD Passport mass storage, the other is WD SES
Device.
Maybe the SES Device is causing USB enumeration to stop - poss. error/exit in
USB driver?
Original comment by Steve6375
on 6 Feb 2014 at 7:46
Maybe the SES Device is causing USB enumeration to stop - poss.
Do not understand the SES device.
Please try this.
Original comment by yaya2007_7777@126.com
on 17 Feb 2014 at 4:15
With USB_HDD+USB_Flash+Internal_HDD grldr 0.4.6a 2014-02-17
usb --init
Found 8 usb devices: Dev num: 0x80; 0x0; 0x82; 0xff; 0x0; 0x0; 0x0; 0x0;
Find command shows
(hd0,0)
(hd1,0)
(hd2,0)
but
ls (hd2,0)/
Error 25: Disk read error
Original comment by Steve6375
on 17 Feb 2014 at 10:02
Executed on the command line:
Read 0x8359 ;such as return 0x4e4
Cat --hex (md)0x4e4+2
Please upload screenshots
Original comment by yaya2007_7777@126.com
on 18 Feb 2014 at 2:02
Found 8 usb devices: Dev num: 0x82; 0xff; 0x0; 0x0; 0x0; 0x0; 0x82 0x83;
For hex dump see:
https://dl.dropboxusercontent.com/u/7841017/g4d_8359.zip
Only hd1,0 was accessible with ls
Boot HDD (hd0,0) and flash (hd2,0) gave Error 25: disk read error
Original comment by Steve6375
on 18 Feb 2014 at 2:43
Please try this.
If that fails, please again upload screenshots.
Original comment by yaya2007_7777@126.com
on 20 Feb 2014 at 6:31
Found 8 usb devices: Dev num: 0x82; 0xff; 0x0; 0x0; 0x0; 0x0; 0x82; 0x83
ls (hd0,0)/ Error 25: Disk read error - 2TB USB boot HDD
ls (hd1,0)/ (contents of internal hdd)
ls (hd2,0)/ (contents of USB flash drive)
https://dl.dropboxusercontent.com/u/7841017/grldr20_02_2014.zip
Better! hd2 is now accessible, but still not boot device 2TB USB HDD hd0
Original comment by Steve6375
on 20 Feb 2014 at 9:42
Please try this.
Original comment by yaya2007_7777@126.com
on 21 Feb 2014 at 12:25
[deleted comment]
With WD Passport 2TB HDD + USB Flash
Found 5 USB devices. Device Num: 0x80; 0x82; 0xff; 0x0; 0x82
ls (hd0,0)/ lists USB HDD files
ls (hd1,0)/ lists internal HDD files
ls (hd2,0)/ lists USB Flash files
With WD Passport 2TB HDD only
Found 1 USB devices. Device Num: 0x80;
ls (hd0,0)/ lists USB HDD files
ls (hd1,0)/ lists internal HDD files
Seems better as I can boot now to full g4d menu.
Original comment by Steve6375
on 21 Feb 2014 at 1:31
Please test.
Original comment by yaya2007_7777@126.com
on 23 Feb 2014 at 1:03
With WD Passport 2TB HDD + USB Flash
Found 3 USB devices. Device Num: 0x82; 0x82; 0x80
ls (hd0,0)/ lists USB HDD files
ls (hd1,0)/ lists internal HDD files
ls (hd2,0)/ lists USB Flash files
Seems better , but lists 0x82 twice and finds 3 devices?
With WD Passport 2TB HDD only
Found 1 USB devices. Device Num: 0x80;
ls (hd0,0)/ lists USB HDD files
ls (hd1,0)/ lists internal HDD files
P.S. I have also noticed that on a warm reboot, after usb --init it often bombs
out to grub4dos shell and hangs on find command. But a clean power-off/power-on
works OK. This has been noticed on all versions of 4.6a - it seems to need a
'clean' boot. Maybe a problem with register initialisation and registers not
being in expected state?
Original comment by Steve6375
on 23 Feb 2014 at 2:46
If I change the USB ports around so the USB flash drive is in a different USB
port, then I get
Found 2 USB devices. Device Num: 0x80; 0x82
Original comment by Steve6375
on 23 Feb 2014 at 10:23
I have here a few computers, hot restart, perform usb - init, did not find the
problem can not reproduce the error, could not locate.
Original comment by yaya2007_7777@126.com
on 24 Feb 2014 at 7:53
To repro:
Asus EeePC 904HA (USB 2.0 ports)
WD Passport 2TB USB 3.0 HDD
Add Easy2Boot v1.28 + grub4dos 0.4.6a
Edit /menu.lst and add usb --init command.
1. Switch on EeePC
2. Boot to USB drive -> E2B menu loads
3. Press F9 = reboot command
4. Boot to USB drive again -> error
TEST 2 - add commandline entry after usb --init in \menu.lst
1. Switch on EeePC
2. Boot to USB drive - press ESC when in commandline -> E2B menu loads
3. Press F9 = reboot command
4. Boot to USB drive again and get to grub4dos shell
5. type ls (hd0,0)/ -> works
6. type ls (hd1,0)/ -> Error 16: Inconsistent filesystem structure
No problem if USB Flash drive used instead of WD Passport.
If use USB 3.0 ICY BOX HDD caddy + fitted Seagate ST980811 AS on Asus EeePC -
Error 82. No USB device found. This is on power on - i.e. usb --init does not
detect any USB drive on power up.
Original comment by Steve6375
on 24 Feb 2014 at 9:05
Can send an ISO template?
Original comment by yaya2007_7777@126.com
on 28 Feb 2014 at 9:01
Please test.
Original comment by yaya2007_7777@126.com
on 5 Mar 2014 at 8:18
Seems much better! Only USB devices 0x80 and 0x82 found with WD Passport+USB
FLash.
only 0x80 if just WD Passport.
Also, seems more stable after reboot (no crash/hangs).
Is there still some debug output (e.g. when booting ISOs)?
I will continue testing but so far all OK.
P.S. Error 80: Won't run under QEMU -> 'BIOS does not support use of INT1A PCI
Installation check'.
If run usb --init twice under VBox, it hangs on ... Scanning USB devices ...
(OK on real system, even if no USB devices attached).
Is there any way to prevent the 10 second delay/retry or shorten it. usb
--delay=1 does not seem to affect it?
Original comment by Steve6375
on 5 Mar 2014 at 9:19
Sorry, no debugging information removed.
usb driver can not run in a virtual machine.
Press any key, you can end 10 seconds countdown.
Original comment by yaya2007_7777@126.com
on 5 Mar 2014 at 11:31
If INT1A PCI check fails - can the 10 second timeout be removed - there is no
point in waiting.
Is the 10 seconds just for use to see message. It seems very long?
A usb --test command would be useful which returns True if USB mass storage
device found. If run grub4dos from a CD with no USB devices or from an
emulator/VM - we would then not run usb --init. If we run same from a USb drive
we would want to run usb --init.
Or if usb --init returned a True/False value with no 10 second delay (and maybe
a error value), we could then use || pause --wait=10
The 10 second delay is not wanted in every case - if there is no usb drives
then what use is the 10 second delay.
Original comment by Steve6375
on 5 Mar 2014 at 11:47
New grldr also fixes 'bad' BIOSes with buggy USB support - see
http://reboot.pro/topic/17902-rufus-v130-has-been-released/page-6#entry182575
Original comment by Steve6375
on 5 Mar 2014 at 5:25
Good News.
Agreed to remove the 10-second delay.
Original comment by yaya2007_7777@126.com
on 6 Mar 2014 at 3:00
Original comment by yaya2007_7777@126.com
on 7 Mar 2014 at 1:40
Thanks.
usb --init still hangs when executed for a 2nd time under VBox.
Can this be fixed please as it is a real nuisance?
Also, on real system with one USB flash drive present (if --init repeated False
is returned on 2nd time)
usb --init && echo %@retval% %?% -> 0 0x996f "1 Device found"
usb --init && echo %@retval% %?% -> 1 0x996f "1 Device found"
Would be nice if %?%=number of devices found.
A test to determine if the driver was already installed would be nice?
If the driver is installed and then a 2nd USB drive is inserted into a USB
port, is a 2nd usb --init required or does it auto-detect?
Original comment by Steve6375
on 7 Mar 2014 at 9:53
Emphasize again, you can not use in a virtual machine!
0x8350 (1 byte): the number of drives is loaded.
0x8351: is the drive letter.
No 'plug and play' functionality. Primarily as a boot device.
The all device is inserted, and then run the usb - init.
In order to start successfully, it is recommended to insert a disk u.
Original comment by yaya2007_7777@126.com
on 7 Mar 2014 at 1:21
I realize it won't detect flash drives on a VM, but to test grub4dos menu and
run ISOs, etc, it is useful to boot a USB drive on VBox. The problem is that if
the
usb --init
command is run twice on VBOX, then it hangs the VM on 2nd time. First time it
detects no USB devices (as expected), 2nd time it hangs VM.
"0x8351: is the drive letter." --> What if 3 USB drives detected?
If not allowed to run usb --init twice, can it be prevented from running a 2nd
time?
Test
1.Boot from 046a grub4dos flash drive
2. usb --init --> 1 Device found 0x80;
3. Insert 2nd USB flash drive
4. usb --init --> 3 USB devices found, 0x82; 0x83; 0x80;
ls (hd0,0) --> contents of USB boot drive
ld (hd1,0) --> contents of internal HDD
ls (hd2,0) --> contents of 2nd flash drive
ls (hd3,0) --> contents of 2nd flash drive XXXXXXX
Original comment by Steve6375
on 7 Mar 2014 at 1:35
In VBox can start a USB drive, but can not install usb boot process.
Please latter case screenshots. md base address 0x8359.
From 0x8351, every byte represents a drive letter
Original comment by yaya2007_7777@126.com
on 7 Mar 2014 at 2:01
0x8351 --> 0x808382 - so drive numbers not letter?
Problem in VBOX is it hangs in VM on second usb --init - this is a nuisance
when testing menus, etc. :-(
Screenshots of "Test" case described above on EeePC at
https://dl.dropboxusercontent.com/u/7841017/pic.zip
Original comment by Steve6375
on 7 Mar 2014 at 2:22
https://dl.dropboxusercontent.com/u/7841017/mdx41_extraUSB_test_case.zip
This is dump of (md)0x41 = 0x8200 start address for TEST CASE as described
above.
Original comment by Steve6375
on 7 Mar 2014 at 7:43
EeePC used for testing.
It has one USB slot on left side and two USB slots on right side.
Just noticed that with 2 flash drives inserted at startup (LHS+RHS)
first usb --init command says:
3 devices found 0x82; 0x82; 0x80;
(two 0x82 devices)
using grldr 6th March 2014 281,839 bytes
This is using USB slot on left side of EeePC + slot on right side of PC
Also, on EeePC, if I use two slots on right side I get:
1 devices found 0x80 on startup with both connected)
So it depends on what USB ports I use.
Original comment by Steve6375
on 7 Mar 2014 at 7:57
"So it depends on what USB ports I use" Completely correct.
0x8350 meaning:
00 Usb driver is not loaded from grldr
8x Failed to load
0x The number of successfully loaded
0x8351-0x8358 8 byte meaning: Each byte represents the drive letter
Original comment by yaya2007_7777@126.com
on 7 Mar 2014 at 11:49
No: cat --hex (md)0x8359+2
It should be: Use "read 0x8359" the return value.
Original comment by yaya2007_7777@126.com
on 8 Mar 2014 at 12:00
Just test, use usb - init 2 times:
Microsoft Virtual PC: OK
VMware Workstation: hangs
Original comment by yaya2007_7777@126.com
on 8 Mar 2014 at 12:09
>>Also, on EeePC, if I use two slots on right side I get:
>>1 devices found 0x80 on startup with both connected)
Just to be clear - two flash drives were connected but only one was detected if
I use both left-hand side ports on EeePC.
Original comment by Steve6375
on 8 Mar 2014 at 12:12
Here are dumps
read 0x8359 --> 0x4f6 , so I used cat --hex (md)0x4f6
Hope this is correct area??
I noticed results vary if
1. Leave off for 1 minute - boot to USB
2. Run usb --init - Switch off and on again quickly - run usb --init
3. Run usb --init - reboot - run usb --init
Case 1 works better - 2 flash drives detected
Case 2 is variable - sometime 1 detected sometimes 2
Case 3 often doesn't work, either 1 detected or none or maybe 0x82; 0x82; 0x80
Original comment by Steve6375
on 8 Mar 2014 at 2:27
Attachments:
Original issue reported on code.google.com by
Steve6375
on 6 Feb 2014 at 4:43