All posts by Bernie Thompson

2014-10-06-Phison-Flash-Storage-Controller

What BadUSB Is and Isn’t

The BadUSB exploit is an idea and working proof of concept which takes advantage of the fact that some USB devices have firmware, and on some of those devices the firmware can be updated.

BadUSB has exploded onto the press in the last few days with articles like Wired – The Unpatchable Malware That Infects USBs Is Now on the Loose, CNBC – Why USB malware just became a big problem , The Verge – This published hack could be the beginning of the end for USB.

2014-10-06-Phison-Flash-Storage-ControllerThis first wave of articles have a few problems, as you might guess. As a former Development Manager of the USB team at Microsoft and the founder of a USB device maker (Plugable Technologies), I hope to fill in a few more of the pieces.

First off, this is a real family of security issues. Anywhere there’s running code, there’s opportunity for exploit. In the Internet of Things era, there is code running nearly everywhere. As electronics shrink, things we think of as “devices” are really computers. To deal with an evolving world, we often want these little devices to be software fixable and upgradable. This creates risks that need to be actively mitigated.

To hack a computer with a USB device, at least 2 things have to be true:

  1. The USB device being infected needs to have firmware, that firmware needs to be software upgradable, and that upgrade mechanism needs to be insecure. That is true of some USB devices but not others.
  2. If a USB device is vulnerable, the virus has to be designed for particular USB controller(s) in that device. The method of flashing firmware on the device and the instruction set is controller specific. The BadUSB code out now is specific to one USB flash controller (Phison) and won’t affect other USB devices. It is not a universal attack.

Whether #1 and #2 are true depends on the particular device. Take our Plugable USB product line as an example: none are exploitable with the BadUSB code as it stands right now because we don’t use the Phison controller. However, some would be vulnerable if specific attacks were targeted at the specific controllers in the devices.

main_512For example, the Termius Technology Chipset used in all of our Plugable-brand USB 2.0 hubs is a fixed-function hardware ASIC without executable or updatable firmware. These USB devices are not vulnerable to BadUSB-style attacks of any kind.

On the other side, our USB 3.0 SATA drive docks use the ASMedia 1051E and 1053E chipsets, which have an 8-bit microcontroller. It is firmware upgradable. So while the recently released BadUSB code will not infect these docks, in theory they could be targeted in the future with a similar effort to that which went into BadUSB.

An interesting 3rd example is our Plugable USB 3.0 Tablet / Laptop Docking Stations and Graphics Adapters. These use DisplayLink DL-3×00 and DL-5×00 chipsets. They make use of firmware. That firmware is software upgradable. However, DisplayLink has implemented on-chip authentication, encryption, and firmware validation which makes it quite difficult for any 3rd party to successfully update firmware. To date, no 3rd party has successfully been able to crack this and talk to the DisplayLink chip. That is one of the reasons why these products work only with Windows and Mac where DisplayLink provides drivers themselves. No software-based security is invulnerable. But it can be a strong mitigation.

You can find out which USB controllers are used in our products on the product pages at Plugable and on Newegg or Amazon listings, etc. We do that because chipset is the best way to dig into compatibility details, but it’s also the best way to research what security features the chips have. We’ll be working to expand on our security information and features over time.

Hopefully some of this detail helps create a fuller picture of what BadUSB is and isn’t. You can also get a lot of great detail from Brandon Wilson and Adam Caudill’s video of how BadUSB was created. If you have any questions, we’re happy to share what we know, just comment below.

Bernie Thompson
Founder, Plugable Technologies

2014-03-10-14-Monitors

New DisplayLink Windows Driver Version 7.7 Leaves XP Behind

photo_power_searcherDisplayLink has released their new Windows driver version 7.7 M0. For most users, we’re recommending they stay on DisplayLink’s mature 7.6 M2 driver series for the time being, but this release does improve performance especially for 4K Ultra HD (up to 3840×2160) USB multi-monitor graphics adapters like the Plugable UGA-4KDP.

This release is also the first that is Windows Vista or later only. Windows XP users will need to stay on the Windows 7.6 driver series (or earlier). Windows’ graphics driver architecture was very different in Windows XP, causing DisplayLink’s driver to be “two drivers in one”. Dropping XP support in 7.7 allows DisplayLink to focus on and optimize for newer Windows versions. Note that for systems automatically downloading from Windows Update, the correct version will automatically be downloaded for you.

UGA-3000_In use illustrationWe’ve been testing this release since the betas, and had seen stable results with the betas. With the final 7.7 M0 release, however, we’ve seen problems during install and with missing cursors after install. Because the performance differences are most noticeable in modes above 1920×1080, and the previous driver version 7.6 M2 has proven most stable, we’re only going to point users of our 4K adapters immediately to this new driver. For sub-4K adapters, 7.6 M2 is well proven — and of course is essential for XP.

Detailed Release Notes

DisplayLink Software Release R7.7 M0 warnings: Some users have reported mouse cursor problems and install problems, requiring a revert to 7.6 M2. That release is well proven.

DisplayLink Software Release R7.7 M0 delivers the following improvements:

- Improved full screen video frame rate and image quality on high resolution screens
- Lower mouse cursor latency on desktop applications
- New embedded firmware upgrade mechanism improving first connect user experience. Visible from future releases.
- Early support for Intel Broadwell platform

Fixed issues since R7.6 M2 (7.6.56275.0)

Monitor EDID was incorrectly interpreted, if the monitor id contained an underscore (_). (17606)

Audio output might not switch to default after disconnecting headphones from DisplayLink device in hibernation (S4). (17401)

On some laptops, the video performance can decrease on DisplayLink screens when a proprietary docking station and a DisplayLink docking station are connected at the same time and the user logs on and off. (16915)

Some platforms running Vista x64 can stop responding after installing DisplayLink Ethernet driver. (17384)

DisplayPort++ to DVI adapters can display incorrect available mode list. (17427)

Occasionally a DisplayLink monitor could be blank after resuming from power saving mode. (17554)

Ethernet UDP performance might drop when playing video and audio over a DisplayLink device. (17579)

Intermittent screen corruption visible when a DisplayLink monitor duplicates a touch screen display in Basic mode on Windows 7 (17782)

Wake on LAN sometimes doesn’t work when DisplayLink device is connected at USB 3.0. This is a regression introduced in 7.6 M2. (17865)

Video and/or Ethernet not available after power state changes on some platforms. Ethernet could show a Yellow “!”, with Error Code 43, in device manager (17896, 17047)

If multiple DL-5xxx or DL-3xxx devices are connected, one device can fail USB enumeration resuming from S4 when connected to USB 2.0 on Windows 7. (17835)

Removed compatibility check which prevented installation if a 3rd party USB graphics solution was connected. Now installation will only be blocked if 3rd party USB graphics drivers are found to be installed. (17763)

Plugable UGA-4KDP

New Adapter from Plugable Technologies Enables 4K Ultra HD Monitors up to 3840×2160 on Nearly Any USB 3.0 Capable Windows 7 and Higher System

Ultra HD 4K monitors with resolutions up to 3840×2160 are starting to move into the mainstream. Many Windows-based tablets and laptops shipped in recent years don’t yet support this new generation of displays, and certainly don’t support connecting more than one of them to a Windows PC.

We’re excited to announce the Plugable UGA-4KDP USB 3.0 Graphics Adapter. It’s the first widely available solution for connecting one or more 4K DisplayPort-based monitors to any Windows 7 or later PC with available USB 3.0 ports. Using one adapter per monitor, you can connect 6 or more huge monitors. The adapter is backwards compatible with USB 2.0, so older machines will work — but for most scenarios USB 3.0 is a must for performance reasons.

The Ultra HD 4K generation of monitors available today support either DisplayPort or HDMI inputs. This adapter outputs DisplayPort signals, enabling connection without any additional adapters. Output to HDMI-only monitors is still possible, but requires an active DisplayPort to HDMI adapter (not included) which supports these higher resolutions.

The DisplayLink DL-5500 chipset at the heart of this adapter is a virtual graphics device. It uses the computer’s own CPU and GPU for rendering pixels, then compresses and sends just the pixels that change over the USB bus. Actual display to the monitor is then refreshed from memory on the device at 60Hz for all modes up to 3840×2160, and 30 Hz at that highest mode.

This is a great solution for web and application use, but is not recommended for 3D gaming or motion video.

Have any questions at all? Comment below or email support@plugable.com – we’d be happy to help! We’re excited to help bring 4K to the PC masses – thanks for going out of your way for Plugable products!

Plugable USB 3.0 to DisplayPort 4K UHD (Ultra-High-Definition) Video Graphics Adapter for Multiple M... Product Details
$79.00

Plugable Launches New 10-Port USB Hub Family

Plugable has had the top-selling 10-port USB 2.0 hub on Amazon for over 3 years — much of that time in the “top 100″ of all electronics. And over that period, we made many large and small improvements responding to customer feedback.

That’s made the Plugable USB2-HUB10S a proven, rock-solid solution for giving your USB-capable computer additional USB ports. It will work with any Windows, Mac, or Linux computer along with many game consoles, wireless routers, and other devices that have a USB port and support USB hubs.

Today, we’re building on this solid foundation by adding a higher-end USB 2.0 model with extra charging features. The Plugable USB2-HUB10C2 uses the same Terminus Technology FE 1.1s chip in our popular 4-port charging hub to support extra charging features on the two swivel ports. It upgrades the power supply to a high-quality 5V 4A model — the same used on our top-selling $109 USB 3.0 universal docking station. Charging rates are device dependent, so make sure to check our charging rates table for this model before purchase. This is a great solution for iOS and Android users with PCs or Macs who want both connectivity and charging of devices in a single hub, along with lots of extra USB ports for other devices.

Even more exciting is we’ve brought this same 10 port design to USB 3.0, for making the most of all your high-performance USB 3.0 devices. Over the past few years, with updates to chips, firmware, and the various operating systems, USB 3.0 has become mature. Our new Plugable USB3-HUB10C2 uses the same VIA VL812 Rev B2 chips and 9000 series firmware as our top-selling USB 3.0 7 port hub to deliver no-compromise compatibility with USB hosts and devices for all operating systems. It’s also fully backward compatible with USB 2.0 and 1.1. It includes a beefy 12V 4A power supply (with step-down in the hub to USB’s 5V).

For charging, there are some compromises with these USB 3.0 chips and firmware — devices will charge at maximum rate only when the PC is off or not connected. Our hub supports this feature on the two swivel charging ports. Again, see our charging rates table for this model for more details.

We’re very excited to have these 3 great options to cover the full range of USB hub needs with proven components. Today, these hubs are available on Amazon.com, and over the next few weeks will be available throughout Europe, UK, Canada, and Japan.

There is much more detail on each product pages and throughout the site. Any questions? Please feel free to comment below or email support@plugable.com. We’re happy to help!

Plugable USB 2.0 10-Port High Speed Hub with 12.5W Power Adapter and Two Flip-Up Ports (Terminus Tec... Product Details
$24.95

Plugable USB 2.0 10-Port Hub With Two Flip-Up Charging Ports (20W Power Adapter)... Product Details
$29.95

Plugable USB 3.0 SuperSpeed 10-Port Hub with Two Flip-Up Ports and 48W Power Adapter (VIA VL812 Rev ... Product Details
$49.95

Black Friday for your Multiple Monitor Setup

At Plugable, we price our products at a fixed, low margin that doesn’t usually leave room for Black Friday specials.

Because of lower costs, this year we have a pricing realignment of our DisplayLink-based USB Graphics Adapters that happened to come on Black Friday. We’re dropping prices on all our USB graphics adapters on Amazon.

We believe you won’t find a better combination of price and product. So go out and build that awesome multi-monitor Windows 7 or Windows 8 setup you’ve always wanted.

Here are the new prices for our complete line of USB 2.0 and USB 3.0 adapters, with a variety of display output types.

Plugable USB-VGA-165 USB to VGA Adapter for Multiple Displays up to 1920x1080 / 1600x1200 Each (Disp... Product Details
$35.00

Plugable UGA-165 USB 2.0 to VGA/DVI/HDMI Graphics Adapter for Windows, Multiple Monitors up to 1920x... Product Details
$39.95

Plugable USB 3.0 to VGA / DVI / HDMI Video Graphics Adapter Card for Multiple Monitors up to 2048x11... Product Details
$49.95

Plugable UGA-2K-A USB 2.0 to VGA/DVI/HDMI Adapter for Windows, Multiple Monitors up to 2048x1152 / 1... Product Details
$49.95

Plugable USB 3.0 to HDMI / DVI Video Graphics Adapter Card for Multiple Monitors up to 2560x1440 (HD... Product Details
$49.95

Plugable USB 3.0 Dual-Head Graphics and Gigabit Ethernet Adapter with DisplayLink DL-3900 Chipset (H... Product Details
$64.00

And here’s us showing what’s possible with these products

Have any questions? Feel free to comment below or email support@plugable.com anytime.

Thanks for going out of your way for Plugable products!

DisplayLink Releases Version 2.1 Driver for Mac OS X

There have been many multi-monitor regressions from OS X 10.8.5 to 10.9, and USB graphics has been significantly impacted.

Part of the confusion is not knowing which new problems are fixable by DisplayLink and which ones will require waiting for the next point releases by Apple.

We have a clearer picture of that now with DisplayLink’s version 2.1 driver final release. A number of things are greatly improved, including a fix for the new performance problems on 10.9 — performance is now back up to 10.8.5 levels.

However, we’re still recommending that anyone on 10.8.5 with a multiple-monitor setup, stay there until Apple has a chance to get out some point releases. In particular, multi-monitor setups of many types are losing configuration, often on sleep. And virtual graphics drivers like DisplayLink aren’t working for 2 or more displays. Both of these problems are new for 10.9.

See the comments on our original 10.9 multi-mon post for different problems reported by customers with DisplayLink and non-DisplayLink hardware. DisplayLink lists the 10.9 issues they’re aware of in the DisplayLink KB article for OS X 10.9.

So, progress .. but for most 3+ monitor users, 10.9 is still not workable. So we can’t recommend any of our Plugable brand products with DisplayLink for Mac, unfortunately. We’ll update as Apple and DisplayLink put out additional point releases.

Feel free to post your experiences in the comments below — it helps everyone to have the behaviors be known. Thanks!

Before You Upgrade To Mac OS X 10.9 (“Mavericks”)

Good news: Mac OS X 10.9 is available today and for the first time, it’s a free update, so app and hardware developers will be able to start counting on Mac hardware running the latest software in general (kinda like the iOS world).

Bad News: Mac OS X versions have historically broken some percentage of 3rd party hardware, and OS X 10.9 appears to have a particularly big impact. Many hardware devices will need updated drivers for 10.9, either because the older drivers simply don’t work at all, or because they work but with new problems.

If you can, it may be better to wait for the adventurous to forge ahead and report their findings on 10.9, before taking the upgrade.

DisplayLink Based USB Products

Users with DisplayLink-based USB Docking Stations and Graphics Adapters should avoid updating to 10.9, if at all possible. See here for details.

DisplayLink-based USB devices that work well on 10.8.5 (up to 4 additional USB displays) will be broken for most uses by the 10.9 update. In particular, 2+ USB displays or any HDMI-attached displays (even non-DisplayLink) don’t work reliably because of screen configuration issues.

We don’t know when this is going to be fixed — but evidence is it will require fixes both from Apple and DisplayLink, so that will take a significant amount of time.

If you are able to stay on 10.8.5, or if you only need a single USB attached DVI/VGA monitor on 10.9, use
DisplayLink’s latest 2.1 Beta drivers.

USB Network Adapters


Mac OS X 10.9 (and 10.8.5) includes support for both the AX88772 chipset and the AX88178 chipsets in our USB 2.0 USB Ethernet adapters, and UD-160-A docking station. For these chips, we recommend first uninstalling any ASIX drivers and repairing disk permissions before upgrade to 10.9 (relying on your built-in net connection), and just plugging in to use the Apple drivers after upgrade.


For our USB 3.0 Gigabit Ethernet adapter, an updated ASIX driver is required. In addition to Mavericks support, compatibility issues with Android File Transfer seem to be resolved. That said, we’re seeing reports of some new problems with 10.9 and would recommend caution. For those who have already updated to 10.9, the compatible driver is available at:
the latest ASIX driver version to get 10.9 compatibility. Note that this driver does not yet have the new 10.9 signature, so you’ll also need to click ok on installing the driver unsigned.

USB Serial Adapter

The latest driver version is required to work with 10.9.

Plugable USB to RS-232 DB9 Serial Adapter

Serial devices will be automatically created (“ls /dev | grep serial”" to see them), however the network control panel in 10.9 now no longer shows serial devices as connected, even when they’re in use.

Other Devices

For all of our other devices, we’re recommending in-box drivers, or they don’t require 3rd party driver installs (hubs, cables, etc).

If you have a question about a product we didn’t mention, please feel free to comment below. We’ll get it added.

And if you hit any 10.9 upgrade problems with Plugable products, we’ll work to help. Just email support@plugable.com anytime.

Thanks!

Multiple Monitor Issues with OS X 10.9 (Mavericks) and 10.10 (Yosemite)

Update 10/22/14: With the release of 10.10 (Yosemite), unfortunately there’s not much improved USB graphics behavior to report, as the key issues outlined in this post still exist.

We’ve posted an update regarding USB graphics and other USB device behavior with Yosemite that can be found here.

DisplayLink has recently released an updated beta driver that contains some fixes, though the larger issues outlined in this post and elsewhere are still present. Beta driver v2.3 is compatible with OS X 10.8.5, 10.9.x, and 10.10.

Original Post 10/22/13: OS X 10.9 (“Mavericks”) has been released today and is a free update.

But multiple monitor users should hold off – OS X 10.9 appears to break many multiple monitor setups.

At least 4 distinct issues with external displays have been duplicated on the “Golden Master” developer seed OS X 10.9. There are no known workarounds or resolutions available at this time:

  1. HDMI displays cause unexpected mirroring
  2. Display Preferences lost on reboot or hot plug
  3. A significant performance drop from 10.8.5 on USB attached displays
  4. Window server crashes

We have already created a bug report with Apple on the first issue, HDMI displays causing unexpected mirroring. However, Apple has not yet responded to it. In an effort to get more traction on this bug, we’ve created an OpenRadar bug report. We need your help to gather more information. Please leave a comment on the OpenRadar bug report with your system information and any relevant setup details.

HDMI displays cause unexpected mirroring
Apple does not make bug reports submitted to them visible to others, so we are showing that report here. Apple has not yet responded to it. This bug affects DisplayLink-based hardware (like ours), along with other HDMI setups using non-DisplayLink hardware. Because this bug report was based on testing with 10.9 preview releases, the behavior might be better or different in the final OS X 10.8 final release version.

Submitted Apple Bug Report: HDMI displays create mirror issues under 10.9 GM seed

When attaching additional displays beyond a single primary display, HDMI attached displays will override a user’s display preferences (resolution and arrangement of additional displays).

This has been tested and reproduced using both USB to HDMI adapters, Thunderbolt to HDMI adapters, and the HDMI output built-in to a current gen USB 3.0 Mini.

When using a HDMI to DVI adapter (Apple branded or 3rd party), the issue is not reproduced: the error seems to be triggered specifically by HDMI (regardless of whether the HDMI is a built-in port, a Thunderbolt to HDMI adapter or cable, or a USB to HDMI adapter.

To be clear, I AM able to use a mix of DVI or VGA attached displays without hitting this issue: the issue only occurs when attempting to add an HDMI display.

After manually disabling mirroring and arranging the displays, they will work normally- however the issue will recur on reboot and typically whenever the HDMI display is re-attached. In the case of the Thunderbolt to HDMI cable or adapter or a USB to HDMI adapter (DisplayLink 2.0 and 3.0 based), a reboot or hotplug event will “break” the non-mirrored display arrangement—although anything other than “deep” sleep does NOT. That is to say display arrangement is retained until the system reboots or enters deep sleep, or on hot-plug events.

Please note that similar issues were seen on earlier 10.9 builds, however these actually got worse on the GM seed pushed 10/7/13.

Steps to Reproduce:
1. Use a normally working 10.9 Mavericks system with built-in Thunderbolt and HDMI display outputs.
2. Attach any HDMI display via built-in HDMI port, USB to HDMI display adapter, or Thunderbolt to HDMI adapter/cable.
3. Observe that HDMI display comes up in mirror mode rather than as an extended display.
4. Disable display mirroring, arrange displays to match physical locations.
5. Reboot system: observe that display preferences are lost.

6. Repeat, substituting a DVI or VGA connection to the same HDMI display. Observe that mirror mode issue is not encountered, and that display preferences are retained up on reboot.

Expected Results:
Displays should come up in “extended” mode, regardless of how they are attached.

Actual Results:
In my testing on 3 Mavericks systems, any HDMI display comes up in mirror mode, and causes display preferences to be lost on reboot (and various other conditions previously mentioned).

Version:
OS X 10.9 (13A598)

Submitter:
Jeff Everett (support@plugable.com)

Display Preferences Lost on Reboot or Hotplug
Distinct from the issue where HDMI displays cause unexpected mirror mode configurations, display preferences like monitor arrangement, resolution, and background are almost always lost on reboot and “hotplug” events when USB display adapters are unplugged and then reconnected. This means users may have to re-configure the OS X settings relating to physical arrangement of their multi-display systems on every reboot or every time they have to disconnect/reconnect from their USB display devices.

No or Slow Rendering on USB Attached Displays
An occasional problem when running 2 or more USB attached displays is that the displays won’t update most pixels. Mouse cursor movement is visible, however any updates made by applications onscreen are not visible, leaving the external display unusable.

Window Server Crashes
Although infrequent, the window server can crash. This renders a system unusable as all displays repeatedly go black/blank while the window server restarts.

Investigation is ongoing as to whether these issues are “core” OS issues with 10.9 Mavericks or may be resolved by further updates to DisplayLink’s 2.1 beta driver. At least one issue (with HDMI displays creating unexpected mirroring) appears to be a fundamental OS X issue, as this has been reproduced on a system with no DisplayLink driver installed, using only the HDMI and Thunderbolt ports built into a late 2012 Mac Mini 6,1.

Additional details are available on DisplayLink’s “Known issues with DisplayLink on OS X 10.9 Mavericks” page, as well as in their OS X 2.1 beta driver forum.

New 2013 Google Nexus 7 and USB Ethernet Adapters

The new 2013 Google Nexus 7 (“Gen 2″ or “flo”) has a bug where USB Ethernet adapters won’t work — they’ll appear to be recognized, but won’t get a DHCP address.

This is with Android 4.3, builds JSS15J and JSS15Q at least.

There is an open bug on this issue, we we’re hopeful that Google will fix quickly with an update:
https://code.google.com/p/android/issues/detail?id=58868

Until then, it’s important to realize that USB Ethernet adapters won’t work. So far, there is no evidence of this affecting other devices (e.g. the original Nexus 7 is not yet affected).

In combination with a USB OTG cable, it’s common to use USB Ethernet adapters to get wired network connectivity for performance (2-3x wireless) and security reasons.

For advanced users familiar with rooting devices and flashing custom ROMS, the latest CyanogenMod builds should now have this fixed.