Take a look at our
ThinkPads.com HOME PAGE
For those who might want to contribute to the blog, start here: Editors Alley Topic
Then contact Bill with a Private Message
ThinkPads.com HOME PAGE
For those who might want to contribute to the blog, start here: Editors Alley Topic
Then contact Bill with a Private Message
ExpressCard USB3 adapters - read speed issue [SOLVED]
ExpressCard USB3 adapters - read speed issue [SOLVED]
Recently I started investigating some ExpressCard to USB3.0 adapters.
So far I got to try two:
AKE 54mm ExpressCard, which is based on the Renesas uPD720202
Vantec 34mm ExpressCard, which is based on the slightly older Renesas uPD720200.
Tried both with the Sandisk Extreme 64GB USB3 flash drive, using
CrystalDiskMark as benchmark and noticed a strange phenomenon.
Plugging the card in - speeds are normal. About 135MB/s read / 115MB/s write for the uPD720202, and 115MB/s read / 80 MB/s write for the uPD720200.
However, if the OS is booted with the card already inserted - read speeds drop to about half (70-75MB/s), whereas write speeds stay what they were.
The strangeness has been observed on a couple T60 and one T410, in Windows XP, Windows 7 and Fedora Linux.
Moreover, in Linux, it seems that if I unplug the card and plug it back in, read speed shoots up to normal. In Windows, this doesn't seem to help (even disabling the whole PCI-E bridge behind which the card sits didn't help). Only if it is booted without the card do the speeds reach the expected values.
For whatever reason, an X220 running Win7 did not exhibit this phenomenon.
Both adapters have been flashed with the latest firmware, and Windows drivers are the latest, all downloaded from Station Drivers.
I wonder whether someone here has had experience with similar adapters and/or has ideas with what can explain this behavior.
Root cause has been found, please scroll below to explanation.
So far I got to try two:
AKE 54mm ExpressCard, which is based on the Renesas uPD720202
Vantec 34mm ExpressCard, which is based on the slightly older Renesas uPD720200.
Tried both with the Sandisk Extreme 64GB USB3 flash drive, using
CrystalDiskMark as benchmark and noticed a strange phenomenon.
Plugging the card in - speeds are normal. About 135MB/s read / 115MB/s write for the uPD720202, and 115MB/s read / 80 MB/s write for the uPD720200.
However, if the OS is booted with the card already inserted - read speeds drop to about half (70-75MB/s), whereas write speeds stay what they were.
The strangeness has been observed on a couple T60 and one T410, in Windows XP, Windows 7 and Fedora Linux.
Moreover, in Linux, it seems that if I unplug the card and plug it back in, read speed shoots up to normal. In Windows, this doesn't seem to help (even disabling the whole PCI-E bridge behind which the card sits didn't help). Only if it is booted without the card do the speeds reach the expected values.
For whatever reason, an X220 running Win7 did not exhibit this phenomenon.
Both adapters have been flashed with the latest firmware, and Windows drivers are the latest, all downloaded from Station Drivers.
I wonder whether someone here has had experience with similar adapters and/or has ideas with what can explain this behavior.
Root cause has been found, please scroll below to explanation.
Last edited by dr_st on Fri Feb 08, 2013 10:51 am, edited 2 times in total.
Thinkpad 25 (20K7), T490 (20N3), Yoga 14 (20FY), T430s (IPS FHD + Classic Keyboard), X220 4291-4BG
X61 7673-V2V, T60 2007-QPG, T42 2373-F7G, X32 (IPS Screen), A31p w/ Ultrabay Numpad
X61 7673-V2V, T60 2007-QPG, T42 2373-F7G, X32 (IPS Screen), A31p w/ Ultrabay Numpad
Re: Renesas ExpressCard USB3 adapters - strange read speed issue
IIRC, some systems use different drivers for USB mass storage devices depending whether it's connected before or after boot. Because I remember seeing some USB flash drives being recognised as fixed drives instead of removable drives if they're plugged-in before boot. Perhaps related...?
Cheers.
Cheers.
Re: Renesas ExpressCard USB3 adapters - strange read speed issue
Good point, I can check that. Although, I don't actually need to have the flash drive plugged in at boot to trigger the problem - just the ExpressCard adapter itself.
Thinkpad 25 (20K7), T490 (20N3), Yoga 14 (20FY), T430s (IPS FHD + Classic Keyboard), X220 4291-4BG
X61 7673-V2V, T60 2007-QPG, T42 2373-F7G, X32 (IPS Screen), A31p w/ Ultrabay Numpad
X61 7673-V2V, T60 2007-QPG, T42 2373-F7G, X32 (IPS Screen), A31p w/ Ultrabay Numpad
Re: Renesas ExpressCard USB3 adapters - strange read speed issue
My wild guess is that something related to the BIOS, about resource allocation...
Cheers.
Cheers.
Re: ExpressCard USB3 adapters - read speed issue [ROOT-CAUSED]
The issue has been root-caused, and there is a solution (or a workaround, if you will).
The culprit turns out to be power management features on the PCIe root ports which the ExpressCard is connected to.
There are two power management features each PCIe port is capable of supporting as per the ASPM (Active State Power Management) specification : L0s (shallow sleep) and L1 (deeper sleep). They are both designed to be entered automatically when the device is active, but idle (hence the name).
By default, the BIOS (at least on the T60 and probably on others), enables the ASPM features during boot enumeration for every root port that has a device behind it.
A small side note: It appears that the "PCI Power Management" option in the BIOS has no effect whatsoever. Maybe on T60 it only affects legacy PCI devices. Or maybe it's a bug. I understand that later models have "PCI Express Power Management" option in the BIOS - I haven't verified if it has any effect.
However, if the device was not present during boot, and was only plugged in later, the OS (at least XP and/or Fedora 14) will not enable the ASPM on the parent port.
For whatever reason, the Renesas controllers do not play well with L0s. Read speeds suffer as I described above. Since L0s will be enabled if and only if the card was plugged in at boot, this explains exactly the phenomenon.
It is possible to change the ASPM settings on the fly using a utility that can write to PCI Config Space. Examples are RWEverything or the Linux setpci utility. A Windows port of the linux utility can be downloaded here.
Note that the L0s needs to be turned off on the parent PCIe port, not on the USB controller itself. Specifically for the Intel 82801 PCIe Root Port (what I have on the T60), the relevant PCI config space register is 0x50.By default, the device will come up with the value of 0x50 set to 0x43. According to lspci, the first bit controls the L0s feature. Writing 0 to it (i.e., changing the register value to 0x42) will disable L0s, and it appears that it is this exact bit that affects the read speeds. The second bit controls the L1, and seems to have no effect.
For other PCIe root ports, the relevant config address (it is the first byte of the LnkCtl block) may differ, but lspci can help you pinpoint it using the -vvv and -xxx parameters. In any case, for the QM57/67 chipsets on later models it seems to be the same offset.
Since setpci is a command-line utility, it is possible to have it run automatically at startup and disable L0s on the relevant PCIe root port.
Another side note:
According to this presentation, L0s is required by the spec, whereas L1 is required specifically for ExpressCards. However, this one, specifically slide 27, suggests the opposite - L1 must be enabled for all PCIe modules, and for ExpressCard, additionally L0s. The lspci claims that indeed the latter is what is taking place - L1 is enabled for all root ports - those hosting the ExpressCard, the LAN and the WLAN. L0s is enabled specifically for the ExpressCard root port (and causes the problem). So it looks like the BIOS was implemented according to the guidelines, and it's either the root port or the controller that doesn't play nice with the specification requirements. I might research more into it later, but in the meanwhile I am pleased with the workaround that allows the USB3 controller to work at full speed.
The culprit turns out to be power management features on the PCIe root ports which the ExpressCard is connected to.
There are two power management features each PCIe port is capable of supporting as per the ASPM (Active State Power Management) specification : L0s (shallow sleep) and L1 (deeper sleep). They are both designed to be entered automatically when the device is active, but idle (hence the name).
By default, the BIOS (at least on the T60 and probably on others), enables the ASPM features during boot enumeration for every root port that has a device behind it.
A small side note: It appears that the "PCI Power Management" option in the BIOS has no effect whatsoever. Maybe on T60 it only affects legacy PCI devices. Or maybe it's a bug. I understand that later models have "PCI Express Power Management" option in the BIOS - I haven't verified if it has any effect.
However, if the device was not present during boot, and was only plugged in later, the OS (at least XP and/or Fedora 14) will not enable the ASPM on the parent port.
For whatever reason, the Renesas controllers do not play well with L0s. Read speeds suffer as I described above. Since L0s will be enabled if and only if the card was plugged in at boot, this explains exactly the phenomenon.
It is possible to change the ASPM settings on the fly using a utility that can write to PCI Config Space. Examples are RWEverything or the Linux setpci utility. A Windows port of the linux utility can be downloaded here.
Note that the L0s needs to be turned off on the parent PCIe port, not on the USB controller itself. Specifically for the Intel 82801 PCIe Root Port (what I have on the T60), the relevant PCI config space register is 0x50.By default, the device will come up with the value of 0x50 set to 0x43. According to lspci, the first bit controls the L0s feature. Writing 0 to it (i.e., changing the register value to 0x42) will disable L0s, and it appears that it is this exact bit that affects the read speeds. The second bit controls the L1, and seems to have no effect.
For other PCIe root ports, the relevant config address (it is the first byte of the LnkCtl block) may differ, but lspci can help you pinpoint it using the -vvv and -xxx parameters. In any case, for the QM57/67 chipsets on later models it seems to be the same offset.
Since setpci is a command-line utility, it is possible to have it run automatically at startup and disable L0s on the relevant PCIe root port.
Another side note:
According to this presentation, L0s is required by the spec, whereas L1 is required specifically for ExpressCards. However, this one, specifically slide 27, suggests the opposite - L1 must be enabled for all PCIe modules, and for ExpressCard, additionally L0s. The lspci claims that indeed the latter is what is taking place - L1 is enabled for all root ports - those hosting the ExpressCard, the LAN and the WLAN. L0s is enabled specifically for the ExpressCard root port (and causes the problem). So it looks like the BIOS was implemented according to the guidelines, and it's either the root port or the controller that doesn't play nice with the specification requirements. I might research more into it later, but in the meanwhile I am pleased with the workaround that allows the USB3 controller to work at full speed.
Last edited by dr_st on Sat Mar 09, 2013 2:36 am, edited 1 time in total.
Thinkpad 25 (20K7), T490 (20N3), Yoga 14 (20FY), T430s (IPS FHD + Classic Keyboard), X220 4291-4BG
X61 7673-V2V, T60 2007-QPG, T42 2373-F7G, X32 (IPS Screen), A31p w/ Ultrabay Numpad
X61 7673-V2V, T60 2007-QPG, T42 2373-F7G, X32 (IPS Screen), A31p w/ Ultrabay Numpad
Re: ExpressCard USB3 adapters - read speed issue [SOLVED]
How did you determine the chipsets upsed?
W500x3 with T9900, , T400 highnit 1280x800 with P9600, X61sx3, X61Tx3.
-
- Senior Member
- Posts: 852
- Joined: Sun Feb 26, 2012 2:25 am
- Location: Princeton, New Jersey
- Contact:
Re: ExpressCard USB3 adapters - read speed issue [ROOT-CAUSED]
That's very interesting.dr_st wrote: The culprit turns out to be power management features on the PCIe root ports which the ExpressCard is connected to.
<snip>
By default, the BIOS (at least on the T60 and probably on others), enables the ASPM features during boot enumeration for every root port that has a device behind it.
According to this post, the T61 BIOS disables ASPM on every PCIe root port, and people try very hard to enable it (and succeeded). Yet in your case ASPM is enabled by default on T60 and T410? Weird...
BTW, that post describes a method to set the correct bit in PCI registry at boot time using GRUB2, which may be adapted to your situation.
X60 tablet 6363-P3U, 3GB ram, 128GB SanDisk Extreme SSD, SXGA+ screen, Intel 6300
T61 Frankenpad in 15 inch T60 body, UXGA LED-lit AFFS LCD, T9300, 6GB RAM, NVidia NVS140m, Intel 6205, 128GB Crucial M4 SSD, 1TB HGST HDD + eBay caddy in Ultrabay
701c butterfly, 75MHz 486DX4, 40MB ram, 1GB CF card
T61 Frankenpad in 15 inch T60 body, UXGA LED-lit AFFS LCD, T9300, 6GB RAM, NVidia NVS140m, Intel 6205, 128GB Crucial M4 SSD, 1TB HGST HDD + eBay caddy in Ultrabay
701c butterfly, 75MHz 486DX4, 40MB ram, 1GB CF card
Re: ExpressCard USB3 adapters - read speed issue [SOLVED]
Yes, interesting indeed. I just verified and the T60 has ASPM enabled almost everywhere. I can conjecture that T410 does the same, and X220 probably does not, since haven't encountered the issue there. Never tried on a T61, but now that I know how to check these settings, and have the tools, it can easily be done.
I am using the same tool (Windows port of setpci) to do the job. The annoying thing which I just realized is that the L0s bit comes back after the laptop resumes from standby or hibernation (which is not unexpected). So far I found out that Hibernate Trigger can help by running a task automatically upon resume (works for both Standby and Hibernate). There probably is a more built-in way to do this in Windows, but it is probably not worth the hassle.
I am using the same tool (Windows port of setpci) to do the job. The annoying thing which I just realized is that the L0s bit comes back after the laptop resumes from standby or hibernation (which is not unexpected). So far I found out that Hibernate Trigger can help by running a task automatically upon resume (works for both Standby and Hibernate). There probably is a more built-in way to do this in Windows, but it is probably not worth the hassle.
Thinkpad 25 (20K7), T490 (20N3), Yoga 14 (20FY), T430s (IPS FHD + Classic Keyboard), X220 4291-4BG
X61 7673-V2V, T60 2007-QPG, T42 2373-F7G, X32 (IPS Screen), A31p w/ Ultrabay Numpad
X61 7673-V2V, T60 2007-QPG, T42 2373-F7G, X32 (IPS Screen), A31p w/ Ultrabay Numpad
Re: ExpressCard USB3 adapters - read speed issue [SOLVED]
I verified with a few other laptops - and I understand why I wasn't experiencing the issue on the X220. While it does enable L1 on all the active root ports, it does not enable L0s, even for the ExpressCard.
It's possible that this was done intentionally because the Intel engineers were aware of potential issues. When I tried enabling L0s manually for the ExpressCard on the X220, it got even worse - instead of just a read speed drop, it stopped functioning altogether until the ExpressCard was pulled out.
It's possible that this was done intentionally because the Intel engineers were aware of potential issues. When I tried enabling L0s manually for the ExpressCard on the X220, it got even worse - instead of just a read speed drop, it stopped functioning altogether until the ExpressCard was pulled out.
Thinkpad 25 (20K7), T490 (20N3), Yoga 14 (20FY), T430s (IPS FHD + Classic Keyboard), X220 4291-4BG
X61 7673-V2V, T60 2007-QPG, T42 2373-F7G, X32 (IPS Screen), A31p w/ Ultrabay Numpad
X61 7673-V2V, T60 2007-QPG, T42 2373-F7G, X32 (IPS Screen), A31p w/ Ultrabay Numpad
-
- ThinkPadder
- Posts: 1724
- Joined: Sat Apr 22, 2006 4:26 pm
- Location: TX, USA & Bombay, India
Re: ExpressCard USB3 adapters - read speed issue [SOLVED]
Glanced through quickly, but genius Thanks. Will have to work on this over weekend.
T61 8892-02U: 14.1"SXGA+/2.2C2D/4G/XP|Adv Mini Dock|30" Gateway XHD3000 WQXGA via Dual-link DVI
X61T 7767-96U: 12.1"SXGA+/1.6C2D/3G/Vista|Ultrabase
W510 4319-2PU: 15.6"FHD/i7-720QM/4G/Win7Pro64 (for dad)
T43 1875-DLU: 14.1"XGA/1.7PM-740/1G/XP (Old)
X61T 7767-96U: 12.1"SXGA+/1.6C2D/3G/Vista|Ultrabase
W510 4319-2PU: 15.6"FHD/i7-720QM/4G/Win7Pro64 (for dad)
T43 1875-DLU: 14.1"XGA/1.7PM-740/1G/XP (Old)
-
- Posts: 25
- Joined: Fri Feb 05, 2010 7:14 pm
- Location: Sydney, New South Wales, Australia
Re: ExpressCard USB3 adapters - read speed issue [SOLVED]
This is fantastic.
I almost gave up on the idea of successfully using USB 3.0 on my computer, never noticed the speed difference, and always thought it was a limitation of the bus.
Are you able to help me find out the device, and enter the proper command? and once i get the command, what is the proper place to autostart it?
PS: I have a T400 with Fresco Logic USB 3.0 and Windows 7 x64 and a T410 with Renesas USB 3.0 and Windows 8 x64
thanks
I almost gave up on the idea of successfully using USB 3.0 on my computer, never noticed the speed difference, and always thought it was a limitation of the bus.
Are you able to help me find out the device, and enter the proper command? and once i get the command, what is the proper place to autostart it?
PS: I have a T400 with Fresco Logic USB 3.0 and Windows 7 x64 and a T410 with Renesas USB 3.0 and Windows 8 x64
thanks
Re: ExpressCard USB3 adapters - read speed issue [SOLVED]
Can you post which read/write speeds you get with CrystalDiskMark in both cases? Perhaps you don't need the workaround at all.
I will look up the PCIe device IDs for you once I am in front the relevant machines.
I will look up the PCIe device IDs for you once I am in front the relevant machines.
Thinkpad 25 (20K7), T490 (20N3), Yoga 14 (20FY), T430s (IPS FHD + Classic Keyboard), X220 4291-4BG
X61 7673-V2V, T60 2007-QPG, T42 2373-F7G, X32 (IPS Screen), A31p w/ Ultrabay Numpad
X61 7673-V2V, T60 2007-QPG, T42 2373-F7G, X32 (IPS Screen), A31p w/ Ultrabay Numpad
-
- Posts: 25
- Joined: Fri Feb 05, 2010 7:14 pm
- Location: Sydney, New South Wales, Australia
Re: ExpressCard USB3 adapters - read speed issue [SOLVED]
Hi dr_st.
I'm not able to test properly yet, due to not having a fast enough USB 3.0 device at the moment.
I have a Sandisk Extreme 64GB USB 3.0 that goes at 200MB/s on the mail to arrive soon though.
With my external hard drive, the speed via SATA or USB 3.0 already plugged seems to be around the same at 95MB/s on my T410.
will post soon once I receive the new usb stick
Would windows 8 or new drivers make a difference? I believe last time I tried it was at around 70MB/s, so my current 95MB/s seems to be an improvement already
I'm not able to test properly yet, due to not having a fast enough USB 3.0 device at the moment.
I have a Sandisk Extreme 64GB USB 3.0 that goes at 200MB/s on the mail to arrive soon though.
With my external hard drive, the speed via SATA or USB 3.0 already plugged seems to be around the same at 95MB/s on my T410.
will post soon once I receive the new usb stick
Would windows 8 or new drivers make a difference? I believe last time I tried it was at around 70MB/s, so my current 95MB/s seems to be an improvement already
Re: ExpressCard USB3 adapters - read speed issue [SOLVED]
Hi elthinkpado,
Once your Sandisk Extreme arrives, kindly post the CrystalDiskMark speeds (both read and write). This will give us a very easy basis of comparison, since I have the same drive and benchmarked with it.
I've done some unofficial benchmarks with Win8, which has built-in MS drivers for many USB3 controllers, and the results were much better (~230MB/s read on that Sandisk drive). But I haven't done enough testing to make it a definite conclusion.
Once your Sandisk Extreme arrives, kindly post the CrystalDiskMark speeds (both read and write). This will give us a very easy basis of comparison, since I have the same drive and benchmarked with it.
I've done some unofficial benchmarks with Win8, which has built-in MS drivers for many USB3 controllers, and the results were much better (~230MB/s read on that Sandisk drive). But I haven't done enough testing to make it a definite conclusion.
Thinkpad 25 (20K7), T490 (20N3), Yoga 14 (20FY), T430s (IPS FHD + Classic Keyboard), X220 4291-4BG
X61 7673-V2V, T60 2007-QPG, T42 2373-F7G, X32 (IPS Screen), A31p w/ Ultrabay Numpad
X61 7673-V2V, T60 2007-QPG, T42 2373-F7G, X32 (IPS Screen), A31p w/ Ultrabay Numpad
-
- Posts: 25
- Joined: Fri Feb 05, 2010 7:14 pm
- Location: Sydney, New South Wales, Australia
Re: ExpressCard USB3 adapters - read speed issue [SOLVED]
Hi dr_st
i got my sandisk drive and tested on the T410 with Win8 and Microsoft drivers.
somehow it's slower for reads than writes at around 120MB/s and 140MB/s
i got my sandisk drive and tested on the T410 with Win8 and Microsoft drivers.
somehow it's slower for reads than writes at around 120MB/s and 140MB/s
Re: ExpressCard USB3 adapters - read speed issue [SOLVED]
Which exact ExpressCard adapter do you use in the T410?
Download lspci and setpci here:
http://eternallybored.org/misc/pciutils/
Open a command prompt and navigate to the application directory.
Type: lspci -d 8086:3b48 -vv
See what it says in LnkCtl: line about ASPM.
Download lspci and setpci here:
http://eternallybored.org/misc/pciutils/
Open a command prompt and navigate to the application directory.
Type: lspci -d 8086:3b48 -vv
See what it says in LnkCtl: line about ASPM.
Thinkpad 25 (20K7), T490 (20N3), Yoga 14 (20FY), T430s (IPS FHD + Classic Keyboard), X220 4291-4BG
X61 7673-V2V, T60 2007-QPG, T42 2373-F7G, X32 (IPS Screen), A31p w/ Ultrabay Numpad
X61 7673-V2V, T60 2007-QPG, T42 2373-F7G, X32 (IPS Screen), A31p w/ Ultrabay Numpad
-
- Posts: 25
- Joined: Fri Feb 05, 2010 7:14 pm
- Location: Sydney, New South Wales, Australia
Re: ExpressCard USB3 adapters - read speed issue [SOLVED]
The Card is a generic Renesas, I believe the brand is AKE.
unfortunately these cards have a problem where they don't eject properly and need to use pliers (dodgy) according to other forum it should be a NEC720202
ASPM L0s L1 Enabled; RCB 64 bytes Disabled- Retrain- CommClk+
unfortunately these cards have a problem where they don't eject properly and need to use pliers (dodgy) according to other forum it should be a NEC720202
ASPM L0s L1 Enabled; RCB 64 bytes Disabled- Retrain- CommClk+
Re: ExpressCard USB3 adapters - read speed issue [SOLVED]
From the same command prompt type the following:
setpci -d 8086:3b48 50.b=42
Then try the lspci again.
It should say now:
ASPM L1 Enabled; RCB 64 bytes Disabled- Retrain- CommClk+ (i.e., no L0s)
Then try the benchmark. What results are you getting?
setpci -d 8086:3b48 50.b=42
Then try the lspci again.
It should say now:
ASPM L1 Enabled; RCB 64 bytes Disabled- Retrain- CommClk+ (i.e., no L0s)
Then try the benchmark. What results are you getting?
Thinkpad 25 (20K7), T490 (20N3), Yoga 14 (20FY), T430s (IPS FHD + Classic Keyboard), X220 4291-4BG
X61 7673-V2V, T60 2007-QPG, T42 2373-F7G, X32 (IPS Screen), A31p w/ Ultrabay Numpad
X61 7673-V2V, T60 2007-QPG, T42 2373-F7G, X32 (IPS Screen), A31p w/ Ultrabay Numpad
-
- Posts: 25
- Joined: Fri Feb 05, 2010 7:14 pm
- Location: Sydney, New South Wales, Australia
Re: ExpressCard USB3 adapters - read speed issue [SOLVED]
now it's 174MB/s read and 145MB/s write! no L0 thanks! you're the man!
a few more questions:
1) I read some tests for this drive for up to 250MB/s is that possible using the express cards?
2) how would this be on a T400?
3) what is the best place to auto-run this command and auto run after standby?
a few more questions:
1) I read some tests for this drive for up to 250MB/s is that possible using the express cards?
2) how would this be on a T400?
3) what is the best place to auto-run this command and auto run after standby?
Re: ExpressCard USB3 adapters - read speed issue [SOLVED]
1) I have seen speeds of ~230MB/s in Win8 using X220T and uPD720202 ExpressCard adapter. So the answer is probably "yes". In the T410 your PCIe is only Gen1, so that's a limiting factor.
2) Not sure I have an T400 here to check, but you can find our yourself:
* Plug the ExpressCard adapter
* Go into the device manager and select "View devices by connection".
* Find the ExpressCard controller on the PCI bus. It will be behind one of the PCIe root ports, which will be called something like "PCIe root port # - XYZW", where XYZW is the device ID.
* In the commands I gave above, replace "3b48" with "XYZW". The rest should be the same.
3) The simplest way would be to create a batch file to run the setpci command. Then to run at startup you just place it in the "Startup" folder under programs (or whatever it is in Win8). To run after standby you can use the HibernateTrigger app which I mentioned earlier:
http://www.desimonesystems.com/suspendtrigger/index.php
2) Not sure I have an T400 here to check, but you can find our yourself:
* Plug the ExpressCard adapter
* Go into the device manager and select "View devices by connection".
* Find the ExpressCard controller on the PCI bus. It will be behind one of the PCIe root ports, which will be called something like "PCIe root port # - XYZW", where XYZW is the device ID.
* In the commands I gave above, replace "3b48" with "XYZW". The rest should be the same.
3) The simplest way would be to create a batch file to run the setpci command. Then to run at startup you just place it in the "Startup" folder under programs (or whatever it is in Win8). To run after standby you can use the HibernateTrigger app which I mentioned earlier:
http://www.desimonesystems.com/suspendtrigger/index.php
Thinkpad 25 (20K7), T490 (20N3), Yoga 14 (20FY), T430s (IPS FHD + Classic Keyboard), X220 4291-4BG
X61 7673-V2V, T60 2007-QPG, T42 2373-F7G, X32 (IPS Screen), A31p w/ Ultrabay Numpad
X61 7673-V2V, T60 2007-QPG, T42 2373-F7G, X32 (IPS Screen), A31p w/ Ultrabay Numpad
-
- Posts: 25
- Joined: Fri Feb 05, 2010 7:14 pm
- Location: Sydney, New South Wales, Australia
Re: ExpressCard USB3 adapters - read speed issue [SOLVED]
thanks dr_st.
I will try it tomorrow on the T400 and post results.
One problem I'm having with the T410 though is every now and then the USB3 drive seems to disconnect and the drive disappears, I need to unplug and plug.
It's not related to this setting, and if I remember correctly it did it before with a different USB 3.0 drive.
I will try onthe T400 to try and narrow down the problem to the T410 or the USB 3.0 adapter. doesnt seem to be related to sleep settings, as it disconnected while I was using it.
I will try it tomorrow on the T400 and post results.
One problem I'm having with the T410 though is every now and then the USB3 drive seems to disconnect and the drive disappears, I need to unplug and plug.
It's not related to this setting, and if I remember correctly it did it before with a different USB 3.0 drive.
I will try onthe T400 to try and narrow down the problem to the T410 or the USB 3.0 adapter. doesnt seem to be related to sleep settings, as it disconnected while I was using it.
Re: ExpressCard USB3 adapters - read speed issue [SOLVED]
Make sure the adapter is firmly plugged into the ExpressCard slot. These adapters do tend to be finicky and not super-reliable.
Thinkpad 25 (20K7), T490 (20N3), Yoga 14 (20FY), T430s (IPS FHD + Classic Keyboard), X220 4291-4BG
X61 7673-V2V, T60 2007-QPG, T42 2373-F7G, X32 (IPS Screen), A31p w/ Ultrabay Numpad
X61 7673-V2V, T60 2007-QPG, T42 2373-F7G, X32 (IPS Screen), A31p w/ Ultrabay Numpad
-
- Posts: 25
- Joined: Fri Feb 05, 2010 7:14 pm
- Location: Sydney, New South Wales, Australia
Re: ExpressCard USB3 adapters - read speed issue [SOLVED]
finally tried with my work computer. it's actually a T410 with a fresco logic FL1000.
that one is quite bad, I seem to get around 30MB/s with or without the setpci. i wonder wether the card is bad or what
that one is quite bad, I seem to get around 30MB/s with or without the setpci. i wonder wether the card is bad or what
Re: ExpressCard USB3 adapters - read speed issue [SOLVED]
These seem like USB2 speeds. Make sure the connector is firmly plugged all the way.
Thinkpad 25 (20K7), T490 (20N3), Yoga 14 (20FY), T430s (IPS FHD + Classic Keyboard), X220 4291-4BG
X61 7673-V2V, T60 2007-QPG, T42 2373-F7G, X32 (IPS Screen), A31p w/ Ultrabay Numpad
X61 7673-V2V, T60 2007-QPG, T42 2373-F7G, X32 (IPS Screen), A31p w/ Ultrabay Numpad
-
- Posts: 25
- Joined: Fri Feb 05, 2010 7:14 pm
- Location: Sydney, New South Wales, Australia
Re: ExpressCard USB3 adapters - read speed issue [SOLVED]
Ok, I managed to do more testing with the T410 and the FL1000 card.
IT seems have the same problem but with lower speeds overall.
When I boot the machine with the card inserted, the speed is around 40MB/s, when I plug and unplug the card it goes up to 95MB/s
Running the command you gave me earlier seems to have no difference though :-/
IT seems have the same problem but with lower speeds overall.
When I boot the machine with the card inserted, the speed is around 40MB/s, when I plug and unplug the card it goes up to 95MB/s
Running the command you gave me earlier seems to have no difference though :-/
Re: ExpressCard USB3 adapters - read speed issue [SOLVED]
I don't believe the L0s issue manifests itself on the FL1000 card. I believe it is not turned on by default.
To make sure you can run lspci -vvv both with -d 8086:3b48 and -d 1b73:1000. I think you will find L0s disable both on the port and the card.
To make sure you can run lspci -vvv both with -d 8086:3b48 and -d 1b73:1000. I think you will find L0s disable both on the port and the card.
Thinkpad 25 (20K7), T490 (20N3), Yoga 14 (20FY), T430s (IPS FHD + Classic Keyboard), X220 4291-4BG
X61 7673-V2V, T60 2007-QPG, T42 2373-F7G, X32 (IPS Screen), A31p w/ Ultrabay Numpad
X61 7673-V2V, T60 2007-QPG, T42 2373-F7G, X32 (IPS Screen), A31p w/ Ultrabay Numpad
-
- Posts: 25
- Joined: Fri Feb 05, 2010 7:14 pm
- Location: Sydney, New South Wales, Australia
Re: ExpressCard USB3 adapters - read speed issue [SOLVED]
Hi dr_st.
here's what I found.
----------------------------------------------------------------------------------------
00:1c.3 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 4 (rev 06) (prog-if 00 [Normal decode])
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0, Cache Line Size: 64 bytes
Bus: primary=00, secondary=05, subordinate=0c, sec-latency=0
I/O behind bridge: 00002000-00002fff
Memory behind bridge: f0000000-f1ffffff
Prefetchable memory behind bridge: 00000000f2900000-00000000f29fffff
Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- <SERR- <PERR-
BridgeCtl: Parity- SERR- NoISA+ VGA- MAbort- >Reset- FastB2B-
PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
Capabilities: [40] Express (v2) Root Port (Slot+), MSI 00
DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s <64ns, L1 <1us
ExtTag- RBE+ FLReset-
DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
MaxPayload 128 bytes, MaxReadReq 128 bytes
DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr+ TransPend-
LnkCap: Port #4, Speed 2.5GT/s, Width x1, ASPM L0s L1, Latency L0 <256ns, L1 <4us
ClockPM- Surprise- LLActRep+ BwNot-
LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+
ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive+ BWMgmt- ABWMgmt-
SltCap: AttnBtn- PwrCtrl- MRL- AttnInd- PwrInd- HotPlug+ Surprise+
Slot #3, PowerLimit 10.000W; Interlock- NoCompl+
SltCtl: Enable: AttnBtn- PwrFlt- MRL- PresDet+ CmdCplt- HPIrq- LinkChg-
Control: AttnInd Unknown, PwrInd Unknown, Power- Interlock-
SltSta: Status: AttnBtn- PowerFlt- MRL- CmdCplt- PresDet+ Interlock-
Changed: MRL- PresDet- LinkState-
RootCtl: ErrCorrectable- ErrNon-Fatal- ErrFatal- PMEIntEna- CRSVisible-
RootCap: CRSVisible-
RootSta: PME ReqID 0000, PMEStatus- PMEPending-
DevCap2: Completion Timeout: Range BC, TimeoutDis+ ARIFwd-
DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis- ARIFwd-
LnkCtl2: Target Link Speed: 2.5GT/s, EnterCompliance- SpeedDis-, Selectable De-emphasis: -6dB
Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
Compliance De-emphasis: -6dB
LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete-, EqualizationPhase1-
EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest-
Capabilities: [80] MSI: Enable- Count=1/1 Maskable- 64bit-
Address: 00000000 Data: 0000
Capabilities: [90] Subsystem: Lenovo Device 2164
Capabilities: [a0] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
-------------------------------------------------------------------------------------
05:00.0 USB controller: Fresco Logic FL1000G USB 3.0 Host Controller (rev 01) (prog-if 30 [XHCI])
Subsystem: Device 1d5c:1000
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0, Cache Line Size: 64 bytes
Interrupt: pin A routed to IRQ 19
Region 0: Memory at f1f00000 (32-bit, non-prefetchable)
Capabilities: [50] Power Management version 3
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold-)
Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [68] MSI: Enable- Count=1/1 Maskable- 64bit+
Address: 0000000000000000 Data: 0000
Capabilities: [80] Express (v1) Endpoint, MSI 00
DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s <2us, L1 <32us
ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset-
DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+
MaxPayload 128 bytes, MaxReadReq 512 bytes
DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-
LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM L0s L1, Latency L0 unlimited, L1 unlimited
ClockPM- Surprise- LLActRep- BwNot-
LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+
ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
here's what I found.
----------------------------------------------------------------------------------------
00:1c.3 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 4 (rev 06) (prog-if 00 [Normal decode])
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0, Cache Line Size: 64 bytes
Bus: primary=00, secondary=05, subordinate=0c, sec-latency=0
I/O behind bridge: 00002000-00002fff
Memory behind bridge: f0000000-f1ffffff
Prefetchable memory behind bridge: 00000000f2900000-00000000f29fffff
Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- <SERR- <PERR-
BridgeCtl: Parity- SERR- NoISA+ VGA- MAbort- >Reset- FastB2B-
PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
Capabilities: [40] Express (v2) Root Port (Slot+), MSI 00
DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s <64ns, L1 <1us
ExtTag- RBE+ FLReset-
DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
MaxPayload 128 bytes, MaxReadReq 128 bytes
DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr+ TransPend-
LnkCap: Port #4, Speed 2.5GT/s, Width x1, ASPM L0s L1, Latency L0 <256ns, L1 <4us
ClockPM- Surprise- LLActRep+ BwNot-
LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+
ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive+ BWMgmt- ABWMgmt-
SltCap: AttnBtn- PwrCtrl- MRL- AttnInd- PwrInd- HotPlug+ Surprise+
Slot #3, PowerLimit 10.000W; Interlock- NoCompl+
SltCtl: Enable: AttnBtn- PwrFlt- MRL- PresDet+ CmdCplt- HPIrq- LinkChg-
Control: AttnInd Unknown, PwrInd Unknown, Power- Interlock-
SltSta: Status: AttnBtn- PowerFlt- MRL- CmdCplt- PresDet+ Interlock-
Changed: MRL- PresDet- LinkState-
RootCtl: ErrCorrectable- ErrNon-Fatal- ErrFatal- PMEIntEna- CRSVisible-
RootCap: CRSVisible-
RootSta: PME ReqID 0000, PMEStatus- PMEPending-
DevCap2: Completion Timeout: Range BC, TimeoutDis+ ARIFwd-
DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis- ARIFwd-
LnkCtl2: Target Link Speed: 2.5GT/s, EnterCompliance- SpeedDis-, Selectable De-emphasis: -6dB
Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
Compliance De-emphasis: -6dB
LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete-, EqualizationPhase1-
EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest-
Capabilities: [80] MSI: Enable- Count=1/1 Maskable- 64bit-
Address: 00000000 Data: 0000
Capabilities: [90] Subsystem: Lenovo Device 2164
Capabilities: [a0] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
-------------------------------------------------------------------------------------
05:00.0 USB controller: Fresco Logic FL1000G USB 3.0 Host Controller (rev 01) (prog-if 30 [XHCI])
Subsystem: Device 1d5c:1000
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0, Cache Line Size: 64 bytes
Interrupt: pin A routed to IRQ 19
Region 0: Memory at f1f00000 (32-bit, non-prefetchable)
Capabilities: [50] Power Management version 3
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold-)
Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [68] MSI: Enable- Count=1/1 Maskable- 64bit+
Address: 0000000000000000 Data: 0000
Capabilities: [80] Express (v1) Endpoint, MSI 00
DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s <2us, L1 <32us
ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset-
DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+
MaxPayload 128 bytes, MaxReadReq 512 bytes
DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-
LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM L0s L1, Latency L0 unlimited, L1 unlimited
ClockPM- Surprise- LLActRep- BwNot-
LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+
ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
Re: ExpressCard USB3 adapters - read speed issue [SOLVED]
So this is not ASPM-related, since ASPM is disabled on both ends.
If you consistently get certain speeds when booting, which consistently go up after you unplug and replug the card, one thing to try would be to compare a hex dump (lspci -xxx) of the config space, before and after the unplug.
If you consistently get certain speeds when booting, which consistently go up after you unplug and replug the card, one thing to try would be to compare a hex dump (lspci -xxx) of the config space, before and after the unplug.
Thinkpad 25 (20K7), T490 (20N3), Yoga 14 (20FY), T430s (IPS FHD + Classic Keyboard), X220 4291-4BG
X61 7673-V2V, T60 2007-QPG, T42 2373-F7G, X32 (IPS Screen), A31p w/ Ultrabay Numpad
X61 7673-V2V, T60 2007-QPG, T42 2373-F7G, X32 (IPS Screen), A31p w/ Ultrabay Numpad
-
- Posts: 25
- Joined: Fri Feb 05, 2010 7:14 pm
- Location: Sydney, New South Wales, Australia
Re: ExpressCard USB3 adapters - read speed issue [SOLVED]
Unsure why it'd do it.
I think I might go and get another renesas card from ebay.
The problem is most of these seem to be the AKE brand, and they're very flimsy, have problems to eject, and bend
are there any expresscard with a chipset that does not show this behaviour on our computers?
I think I might go and get another renesas card from ebay.
The problem is most of these seem to be the AKE brand, and they're very flimsy, have problems to eject, and bend
are there any expresscard with a chipset that does not show this behaviour on our computers?
-
- Similar Topics
- Replies
- Views
- Last post
-
-
Caddy speed vs Main drive bay speed
by euless » Wed Nov 15, 2023 11:54 pm » in ThinkPad T430-T490 / T530-T590 Series - 1 Replies
- 1600 Views
-
Last post by axur-delmeria
Thu Nov 16, 2023 1:26 am
-
-
- 11 Replies
- 46206 Views
-
Last post by Dossing Around
Fri Oct 13, 2023 10:54 am
-
-
Internet Speed Test, who can you believe?
by RealBlackStuff » Tue Nov 14, 2023 3:51 am » in ** HOW TOs & FAQs ** - 20 Replies
- 5795 Views
-
Last post by ajkula66
Mon Feb 19, 2024 8:21 am
-
-
-
SOLVED On ThinkPad SR650 network don't work
by paolo_holzl » Mon Nov 20, 2023 11:43 am » in Windows 10/11/etc. - 0 Replies
- 2320 Views
-
Last post by paolo_holzl
Mon Nov 20, 2023 11:43 am
-
Who is online
Users browsing this forum: No registered users and 35 guests