System Requirements
The USB & 1394 Plugin only supports XPE 0.95 and WinPE 3.0.25 or
later. The plugin does not support prior versions of XPE and WinPE. This is because the
latest versions are quite 'clean' and have a lot of bugs fixed. The older
version are problematic and lots of users experience the disk not showing up/refreshing
in explorer. You may use windows explorer or any other shell / file managers
as you wish. I am using the stock standard windows explorer as setup per XPE
095.General
WinXP treats removable HDD (USB & Firewire 1394) differently from removable
(plug & play) type memory devices such as travelling sticks which are
generally less than 1Gb in capacity. The supporting device drivers are
different and are also loaded differently.
The main observable differences are:-
- USB travelling disks may be removed by two methods. First pointing to
the device in the My
Computer folder and then click eject. Or second method, use the System Tray
icon "Safely Remove Hardware".
- Removable HDD requires that you popup the "Safely Remove Hardware" program
located on the system tray, selecting the device and clicking stop. This
will ensure all dirty caches are properly flushed with no data loss. There
is no "eject" command available.
- Removable HDD requires sbp2 driver support.
I shall use this context when I refer to USB travelling stick or
removable HDD in this page or the plugin.
Plugin Description
The USB & 1394 Plugin was developed on an Abit AN7 nForce2 FSB400
mobo. Devices used for testing include PQI 128Mb USB1.1 Travelling Stick,
PQI USB2 Travelling Disk 7-in-1 reader (with Pretec 384Mb CF card, 1Gb IBM
Microdrive and Sony 128Mb Memory Stick), Sarotech 2.5" external USB2 HDD and
Sarotech 3.5" Portable Hard Drive (1394 external HDD). All the above
works
fine.
None of the above devices requires any USB or 1394 drivers to be installed. WinXP automatically recognizes those devices. The only exception in case of
nForce mobo's and if you load nVidia's drivers - usb2.inf and usb2.pnf are
installed.
Only hotfixes were applied, so my drivers may work slightly different from
yours if you have not applied the various hotfixes listed below.
I do not know if there are any differences from mobo's with builtin USB &
1394 hardware and addon PCI USB/1394 cards. I suppose WinXP will also
support these natively?
System Startup (Driver Loading)
Due to slight difference in WinPE and WinXP loadup, some drivers
are not properly loaded/initialized. Perhaps I missed out on a few registry
entries? Thus user intervention is required if you want to
connect such removable HDD to WinPE. Even using the 'fix' SetupInProgress=0x0
does not seem to work.
What's Support and What's Not Supported
At present, only strict USB travelling disks, USB & 1394
removable HDD are supported. Digicams, scanners, MP3 based usb devices, 1394 networking
hubs, etc are not
directly supported as yet - though I believe the basic registry entries are in place. You
have to load your hardware drivers and DIY (do it yourself) for now. I am
concentrating on getting the basic stuff working first.
Installing the Plugin
Its easy! Just create a folder USB&1394 (or any name). Extract
all files into the folder. Then run the GetFiles.bat command file. It will
copy all required files from your PC to the plugin folder. Note that there
may be some files that are not found on your system - that's ok - those are
probably scanners, usb cams, etc.
Using Generic Travelling Disks
This is fully working. Just plug in the disk/stick and it will show up in the
explorer. Remember to right click and 'eject' before removing it.
Using Removable HDD (USB and Firewire)
This require 'some' user intervention and there is still one nasty bug (read on).
There are 2 methods to enable USB and 1394 removable HDD devices:
|
Method 1 |
|
1 |
Connect up your USB or 1394 HDD device to PC |
|
2 |
Power up device |
|
3 |
Boot WinPE |
|
|
Note: With this method, the HDD comes up automatically,
but you loose the ability to "Safely Remove" the device. You
must do a full shutdown of WinPE and then only power off device in order
not to loose data (if you have written to the HDD). Use this method
for quick tech support work or transfer files.
|
|
Method 2 |
|
|
This is actually the preferred method. But there is one
big bug. |
|
1 |
Ensure WinPE is fully loaded and running - do not insert before
startup or during XPE loading. |
|
2 |
Plugin USB or 1394 device. - you will NOT see the disk drive on explorer
at this stage. |
|
3 |
Run the Disk Management service (Admin Tools->Disk
Management or run diskmgmt.msc). A window popups and shows
at the bottom the newly connected removable HDD. Right click on it, select
"Change Drive and Paths", then "Add drive letter". Just select the
suggested drive letter. Click OK. Exit Disk Management. Your explorer
still will NOT show the new HDD yet.
Note: Although the
HDD is not shown in windows explorer, you can already access the disk.
The drive is accessible from any program (eg. file editors, notepad,
etc) via the file open/save dialog . Even the command processor can
access the drive. So you may stop here if you wish. But then you cannot
"eject" or unmount the HDD. If you need to be able to unmount, the
continue to next step. |
|
4 |
Go to Start Menu, run Task Manager (taskmgr.exe). Right
click on "Explorer" and select End Process/Task. This will cause XPE to perform a "warm reboot". Exit Task Manager. |
|
5 |
After XPE has reloaded, open your explorer - there you will find
your new disk drive :) |
|
|
|
|
|
Ensure that on your system tray there is a green icon - this is the DLL
to safely remove your removable HDD. You must right click and then stop the
device before unplugging otherwise you may loose your newly written data.
The Safely Remove Program flushes all dirty file & disk caches.
BUG:
After removing your HDD,
explorer still shows the disk drive there. But clicking on it gives error.
This is the bug I mentioned above. Just ignore it for time being until I
find a fix. I believe this is caused by some missing registry entry. If you
managed to fix this please let me know in the forum. You can overcome this
by the unmount method detailed below. |
|
|
|
Removing/Unmounting USB & 1394 Removable HDD
|
|
This only applies if you have used method 2 to connect
the device. |
|
1 |
Run Disk Management service (Admin Tools -> Disk Mgmt)
and look for the removable HDD |
|
2 |
Right click on HDD, select "Add / Change drive and
path", select "remove drive", click OK and exit. |
|
3 |
Go to Systray, Right click on "Safely Remove Hardware",
Stop, close |
|
4 |
You explorer will now show ? against the HDD. This is a bug, but its ok.
You can replug in the same or another device and reassign the same drive id and it will be valid
again.
Note: If you do not first remove the drive id/letter before "Safely Remove
Hardware" then that drive id will no longer be re-usable! If you replug
in same or another device you have to reassign a new drive letter. |
|
|
|
|
|
|
MS HotFix
There are a few hotfixes issued by MS. The more important being:
1. Q253152 - IEEE 1394 device fails to enumerate due to incorrect 'gap
count'
2. Q810400 - USB fails to reconnect if downstream hub disconnected.
3. KB817900 - USB fails to connect if USB device is plug & unplugged quickly
in succession.
4. KB253152 - High bandwidth unavailable in VIA host controller. (non nForce
mobo)
5. KB822603 - fixes USB hubs
6. KB826959 - fixes USB
Please check out MS site and download the fixes. Please do this first before
posting for help in the forum. These hotfixes are not necessary unless you
have experience problems as described by the accompanying text. I thought
(1) Q253152 would solve the enumeration problem but it did not.
If you install any hotfix, you have to perform manual copy of the hotfix
files from the %windir%\system32\CatRoot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}
folder into the plugin HOTFIX folder. Read the ReadMe.txt (in HOTFIX folder)
as included in the plugin USB-pe.zip.
Type 0x8 0xA Registry Support
I am running out of options for now in trying to fix the "non HDD display
in explorer" bug. My suspicion is that I should now be looking into
explorer registry since it is related to "non refresh" display. Perhaps some of the plugin registry entries would
be best served if initialized at the beginning - ie preloaded into the
registry hive before WinPE startup. (This explains why we have to warm boot
XPE!) Hopefully these special registry types
would be supported in the next WinPe release.
Help / Bug Report
I have started a new thread "USB v1.6". Please post question /
suggestions / fixes in the 911CD forum. When posting, please also
indicate your h/w - mobo, cpu and removable HDD type and if possible
indicate which hotfix were installed by their number eg. Q123456 or KB123456.
This will save people from asking about your hardware, etc. It will also
assist others in trying to get their USB & 1394 devices to work.
|