How to Use USB & 1394 Plugin (v1.62) for WinPE
(You can get latest version here: http://lunarcal.tripod.com/WINPE/WinPE.html)

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.