Huge Pine Port Devices Driver



Why is my Thunderbolt 3 device not recognized?

  • My com port is missing. And the ports option is not available in Device Manager. I'm able to perfectly connect and use my phone/modem with the computer. I had gone through several discussions about same topic here in answers.microsoft.com to no avail. How do i enable it, or can you provide a link where i can download this com driver for windows 10?
  • The USB-Serial-Adapter comes with a driver packaged with a CD which has an exe file. This Huge Pine driver works on some systems and not on others. The Huge Pine USB to Serial Ports Driver or sometimes refered to as Huge Pine USB to Serial Bridge Driver may or may not work on your particular operating system.
  • A yellow triangle next to a device in Device Manager means that Windows has identified a problem of some kind with that device. The yellow exclamation mark provides an indication of a device's current status and could mean that there's a system resource conflict, a driver issue, or, frankly, almost any number of other things.

The concept is the same as for the consumer IoT devices in the home, but in this case the aim is to use a combination of sensors, wireless networks, big data, AI and analytics to measure. Type ‘devmgmt.msc’ on the “RUN” Programmer and click OK button to open Device Manager. Expand the Universal serial bus controller, right-click on the USB hub device and click on the Update driver software. Click on the ‘Browse my computer for Driver Software’ Click on the ‘Let me pick from a list of device drivers on my computer‘.

To troubleshoot the scenario where a Thunderbolt 3 device is not recognized properly, we suggest checking following items:

  1. Make sure that both the computer and the device are turned on and that the Thunderbolt 3 device is connected to the computer via the Thunderbolt interface.
  2. Disconnect and re-connect the Thunderbolt cable and/or restart the computer.
  3. Use the Thunderbolt 3 cable that was included. If you own a second cable, test both to rule out any problems with the cable.
  4. Confirm that your computer supports Thunderbolt. If it has a USB-C port but only supports USB, the Thunderbolt device won't work.
  5. For Windows PCs, update the BIOS of your computer.
  6. For Windows PCs, update the Thunderbolt firmware (NVM) on your computer.
  7. For Windows PCs, update the Thunderbolt software (driver) on your computer.
  8. For Windows PCs, when you connect a new device for the first time, you might have to approve the device. Select 'Always Connect'.
  9. For Windows PCs, if the device is recognized at first but disconnecting and re-connecting fails, install the device driver for Windows.
  10. For Windows PCs, if the device is no longer recognized after upgrading your operating system (e.g. from Windows 7 to Windows 10), uninstall the Thunderbolt software and re-install the latest version, even if it's the same version.

When updating the driver and firmware for your computer, make sure to follow the instructions of the manufacturer. In some cases, it's necessary to update the firmware in a certain order (e.g. update BIOS first, Thunderbolt software second and Thunderbolt firmware last). We recommend temporarily disconnecting the external Thunderbolt device when doing the BIOS and firmware update on your computer.

To check the current firmware and driver version of your system, connect your Thunderbolt 3 device to your computer and right-click on the Thunderbolt icon in the taskbar. For older versions of the Thunderbolt Software, select 'Settings' and open 'Details'. For newer versions of the Thunderbolt Software, select 'About'. Under normal circumstances, you should be able to see your attached device and the current version of the software, application and the driver as seen below.

You can also check this website at https://thunderbolttechnology.net/updates to see if there are any updates for your computer.

Huge Pine Port Devices Driver Updater

If none of the above helps or you believe the product is defective, please submit a ticket on our help desk for further help.

Hardware

USB-C connector onPinePhone can be used for:

  • USB 2.0 dual role data (akaOTG)
  • Configuring PMIC (AXP803) input current limit based onthe Battery Charging Specification
  • DisplayPort alternatemode (with a HDMI dongle or USB-C dock)
  • Sinking current from USB-C PDcharger, or sourcing current to USB-C device like a dock orUSB-C hub
  • Communicating with USB-C peripherals over CCpins

Current driver status

Mylatest anx7688 driver work can always be found in my pp-5.8 branch.

The driver handles severalthings:

  • powering up ANX7688 regulators
  • monitoring cabledetection signal produced by ANX7688 and enabling ANX7688 power basedon that
  • communication with ANX7688 over I2C
  • programmingfirmware into EEPROM inside ANX7688
  • configuring ANX7688 firmware within100ms of the OCM booting the firmware with PinePhone's po­wer and datacapabilities
  • configuring ANX7688 firmware to enable DisplayPortAlternate Mode
  • receiving and sending firmwaremessages
  • communication with sun4i-usb-phy driver to perform USB datarole switches and to inform the PHY of VBUS status
  • communication withaxp20×-usb-supply driver to tell it to change the input current limit based onPD negotiation results

There are some changes to other drivers thatare necessary to make this all work:

  • modifications to sun4i-usb-phydriver to be able to receive data role changes fromanx7688 driver
  • modifications to the PMIC driver to make N_VBUSEN aninput and to allow adding a vin-supply to the drivevbusregulator
  • modifications to the PMIC driver to allow it
Known issues
  • In some configurations (with 3AUSB-C PD charger) AXP803 resets the VBUS input current limit by itself to 500mA,so PP will not charge (much)
    • Forcing the input current limit back upleads to instability (looks like AXP is resetting the limit due to voltage dropon VBUS) and input current fluctuates between0 and ~1.3A
  • With all the docks I have I can't power thePinePhone from them without the above issue happening and causing issues for USBbus enumeration
  • It's possible that voltage drop at PMIC terminals istoo big when the input current is too high, and PMIC has a limit for the lowestVBUS voltage it allows. After that limit is crossed, the input curren limit isreset to the lowest value (500mA).

Huge Pine Port Devices Driver Ed

Usingthe driver

ANX7688 comes preprogramed with factory test firmware. This isnot useable for PinePhone, and it's necessary to re-program the firmware withthe one meant for standalone application of ANX7688.

You canget the latest binary of the firmware from my firmware tree.It's named anx7688-fw.bin. To flash the firmware, youneed to:

  • copy anx7688-fw.bin to/lib/firmware
  • echo 1 > /sys/class/typec/port0/device/flash_eeprom

Thenthe driver will work automatically.

PMIC USB Battery Charging

Defaultstate without any anx7688 driver and with anx7688 chip shut down is to sinkcurrent from USB-C VBUS based on the type of port detected by AXP803 (PMIC),according to Battery Charging Specification 1.2. PMIC is able to detectSDP, CDP or DCP. ACA is not supported, and is not meant for USB-C devicesanyway. SDP is regular USB port on your computer. DCP is a dumb USB port withshorted D+/D- lines, typically found on USB wall chargers. CDP is like SDP(allows data communicati­on), but with ability to source higher chargingcurrents. SDP can source 500mA for USB 2.0 ports, and 900mA for USB 3.0 ports.PMIC in PinePhone can't detect USB 3.0 by itself, so even if PinePhone isconnected to USB 3.0 SDP, it PMIC will set input current limit to 500mA.Charging port type detection is done once after VBUS is detected. All of theabove is unrelated to USB-C PD, and it will work with any USB-A to USB-C cable+ regular USB-A adapters.

Huge

There are plenty of USB wall adapters withports marked as 2.1A. These are ideal chargers for PinePhone,because they:

  • work without any software intervention, and the needto negotiate power requirements over USB-C CC pins via ANX7688 firmware (whichis only done after Linux boots and powers up ANX7688)
  • provide enoughpower for both (fast)-charging and using the phone at thesame time
    • charging limit of the battery is 5W, phone consumes 3–5Wwhen turned on
    • 5V/2.1A charger can provide 10W, which is enough powerbudget for both charging and phone use
  • will work even if youkill the battery and are unable to boot Linux

I recommend theseregular BC1.2 spec chargers over USB-C PD chargers, which may not work withoutsoftware intervention.

USB-C PDchargers

For USB-C PD charger to work correctly, ANX7688 needs to bepowered up and correctly initialized each time a USB-C cable is plugged in.ANX7688 firmware needs to be loaded from internal EEPROM to SRAM and the Linuxdriver needs to communicate with this firmware via some custom protocol inventedby Analogix. On-chip-microcontro­ller (OCM) that runs the firmware, thencontrols and monitors the CC pins and sends/relays PD messages from other sideof the USB-C cable.

This is of course more complicated than the abovementioned BC1.2 spec, and thus more prone to implementation errors, andsoftware bugs.

The Linux driver currently doesn't implement USB-C PD inany complex way. It just configures ANX7688 to notify the other side about thesource/sink capabilities of PinePhone (source 500mA, sink 3Aat 5V).

Linux driver doesn't yet communicate with PMIC driver to notifyit about the current sourcing ability of the other side of the USB-C cable, soUSB-C PD charger will only work if it can match the sinking requirements ofPinePhone (3A at 5V).

My experience is that my 3A/5V PD charger withoutanx7688 driver loaded just keeps disconnecting in a loop if I rise the currentsinking limit above the default for SDP port (>500mA). With the driverloaded, PinePhone can sink more current without getting disconnects from my PDcharger. The current limit in PMIC needs to be set manually via/sys/class/power_supply/axp20x-usb/input_current_limit.

Inthe future, this will be done automatically by the driver.

Using an USB-C Hub

I have bought a 4-portUSB-C to 4× USB-A hub BML4hub USB-C and it works with the current driver and modded PinePhone (withswitches removed). The hub doesn't seem to need VCONN voltage.

Using an USB-C Dock with HDMIport

I have bought a USB-C dock with 3× USB-A USB 3.0 ports, HDMIport, and SD card reader (UMAX U-Connect Type-C Multiport H7 and it almost works withthe current driver and modded PinePhone (with switches removed). The onlyfeature that doesn't work is SD card reader (may need VCONN). HDMI output workswithout VCONN.

Sofware workaroundfor CC pins HW bug in PP 1.0 – 1.2

Video out can never be achieved viaa SW workaround. It's not possible to even detect cable orientation without CCpins working correctly, let alone negotiate the alt mode switch. It's notpossible to detect cable plug/unplug via CC pins. It is only possible to detectVBUS presence via PMIC and only if it's not supplied by the phone already andthat is not enough to detect plugin of unpowered devices.

Without workingCC pins, it's not possible to make the other side of the cable consume powerfrom PP, or to stop providing its own power. In broken devices CC pins areshorted to the ground, which is an invalid state of CC pins. The charging worksat all only because this doesn't matter for USB-C ↔ USB-A cable use. PDchargers are certainly free to interpret this as invalid state and not provideany power over VBUS.

It is only possible to switch data role, orenable/disable VBUS on the PP side. And it will only work if the other side ofthe cable is dumb enough, or by design has a matchingdata/power ro­le.

So any SW workaround for the HW issue PP has islimited to enabling OTG host functionality for devices that can't supply powerto PP in any way (to be safe), and that are dumb enough to just accept VBUSpower without negotiation.

That is, it may be possible for some USB-Chubs. There's no way PP can tell the USB-C peripheral to use the power from thePP, so if the hub is a bit smarter, and will not pass power to devices unlessthat is properly negotiated, it will not work either.

Certainly anyworkaround is not safe for a PD enabled docks that have PD input ports, cansupply power to CC pins, etc.

Hardwarebugs

There are several hardware issues in the circuit around ANX7688 onPinePhone, and it unfortunately needs to be modified to functioncorrectly.

Thankfully, the modifications are mostly component removals.Both modifications are described he­re:

USB-C CC pinsare grounded when VCONN switches are off

Huge Pine Port Devices Driver Jobs

I discovered that all thecurrent PP variants (1.0–1.2, Braveheart and at least a part of UBports CEbatch) have a major issue, that prevents CC pins from working correctly. Thisissue will be fixed in revision 1.2a by a component swap.

It's thereforenot possible to perform any kind of negotiation and communication over the USB-CCC pins. It's not fixable in SW. It's not possible to configure any USB-Cperipherals correctly.

There's a HW mod that you can do to fix CC pinsfrom being hogged by the VCONN switches by removing the switches, or replacingthem with a suitable replacement. Seemy howto, or video from adnidor, or video frommozzwald.

After this HW mod, you'll be able to use USB-C peripheralsthat don't need VCONN with the driver in my tree if you removed theswitches.

ANX7688draining the battery in a few days when the phone is off

After poweroffPP variants 1.0 and 1.1 still consume around ~20–30mA (this is fixed on1.2), and this drains the battery in ~2 days even if the phone isturned off.

Samuel Holland discovered that this is fixable by desolderingU1301 and shorting R1309. I've made a quick howto on how to do this.