[HN Gopher] Adding a USB port to the ThinkPad X1 Nano (the hard ...
       ___________________________________________________________________
        
       Adding a USB port to the ThinkPad X1 Nano (the hard way)
        
       Author : edward
       Score  : 118 points
       Date   : 2024-06-29 23:17 UTC (23 hours ago)
        
 (HTM) web link (jcs.org)
 (TXT) w3m dump (jcs.org)
        
       | freedomben wrote:
       | Amazing adventure and great write up! It reads like an adventure
       | novel :-)
       | 
       | > Unfortunately, Lenovo continues to implement a stupid network
       | card whitelist that IBM started over 20 years ago on its ThinkPad
       | models. If the card in the M.2 slot is not advertising a known
       | PCI vendor and product ID in the whitelist contained in the BIOS
       | (now UEFI firmware), the ThinkPad will refuse to boot.
       | 
       | Why?? Are there legitimate reasons for this sort of design
       | behavior other than anticompetitiveness?
        
         | jamesy0ung wrote:
         | Yeah it's such a horrible idea. It sucks the ending was just
         | hijacking the usb bus used by the fingerprint sensor :(
        
         | utensil4778 wrote:
         | The usual line that Lenovo gives is that this is for FCC
         | reasons. The argument goes that the laptop is FCC certified as
         | an entire unit, and changing the WiFi card technically
         | invalidates this.
         | 
         | This is quite plainly nonsense. Every other manufacturer allows
         | WiFi adapter replacements because every module on the market
         | must be individually FCC certified.
         | 
         | Technically, the claim does make sense under a creative
         | interpretation of the FCC rules. I think the _real_ reason is
         | likely so you 'll buy replacement FRUs from Lenovo under your
         | enterprise support contract, as well as ensuring you use a
         | module that is known to work reliably with the software stack
         | shipped on the machine.
         | 
         | Basically yeah, its an anticompetitive measure.
        
           | numpad0 wrote:
           | Other manufacturers such as Dell and HP do in fact implement
           | BIOS whitelist. I think this is the reason why Internet
           | listings of Wi-Fi cards are advertised with brand names that
           | the cards are intended for.
        
           | nemosaltat wrote:
           | If that sounds silly, while working in commercial
           | construction in Los Angeles, we encountered pushback for
           | placing UL-listed devices in a UL-listed enclosure. The city
           | determined that to be a "new assembly" and required UL
           | listing for the entire unit. UL has a category for this
           | situation; the enclosure is "UL recognized" because all of
           | the devices and the enclosure are UL-listed. Their proposed
           | solution, which UL was happy to oblige, was to come and
           | field-inspect the installed units and have them certified in
           | situ, at our (significant) expense, of course.
        
             | gamblor956 wrote:
             | TBH that doesn't sound ridiculous at all. "UL recognized"
             | is not the same thing as "UL listed."
             | 
             | The former means that the assembly is assumed to meet UL
             | specifications; the second means that it has been inspected
             | by UL and confirmed that the assembly actually does meet
             | specifications.
             | 
             | Making sure that things meet specifications is the entire
             | point of the building department's inspections.
        
             | derefr wrote:
             | I assume you know this, but depending on what the enclosure
             | was made of, what frequencies the devices inside were
             | broadcasting at, and where you placed them inside, you
             | could very well have accidentally produced a resonating
             | chamber, parabolic antenna emitter, or other type of
             | structural frequency-specific gain-boosting mechanism.
             | 
             | They likely wanted to just make sure that you hadn't done
             | that. (And to do that, they had to send some fellows whose
             | time was very expensive, because it takes long experience
             | to build up an intuition for these things to the point that
             | you're confident enough in your answer to not have to
             | bother with the "measure everything and plug-and-chug the
             | dynamics in a simulator" step.)
        
           | Aurornis wrote:
           | > This is quite plainly nonsense.
           | 
           | Unfortunately, Lenovo is actually correct in how the laws are
           | written.
           | 
           | Whether or not they would get in trouble for it is a
           | different question. I wouldn't be surprised if they were put
           | on notice for something 20 years ago by an over eager FCC
           | person and they took the lesson to heart. Once a company gets
           | threatened for something they rarely go back, even if other
           | companies are getting away with it.
        
           | derefr wrote:
           | > This is quite plainly nonsense. Every other manufacturer
           | allows WiFi adapter replacements because every module on the
           | market must be individually FCC certified.
           | 
           | Perhaps every other OEM are running antennas through the case
           | that have exactly the gain you'd expect on the bands you'd
           | expect; while Lenovo are using better-than-average antenna
           | designs together with lower signal amplification to achieve
           | the same SNR with lower total power consumption.
           | 
           | If that's the case, then swapping out the wi-fi card for one
           | that _hasn 't_ been programmed for below-standard signal
           | amplification, will get you a system that's above the FCC
           | limits.
        
         | realusername wrote:
         | That's also probably against the last right to repair EU laws
         | if the laptop is sold in the EU.
        
         | Spooky23 wrote:
         | Supply chain integrity comes to mind.
        
           | adolph wrote:
           | The tao of hardware supply chains. Surely they can do the
           | checksums tho.
           | 
           | https://www.theverge.com/2013/12/29/5253226/nsa-cia-fbi-
           | lapt...
        
       | utensil4778 wrote:
       | I had to do a similar thing with my T530. I wanted to upgrade to
       | a WiFi 6+Bluetooth card. The built in Bluetooth adapter is very
       | old, I think v4.2. It's also a finicky module with a mezzanine
       | connector, and it's nestled deeply into the internal magnesium
       | frame so the range is abysmal.
       | 
       | I reflashed the BIOS to kill the whitelist, but I'm left with a
       | bigger problem. The WiFi slot offers PCI, but not USB. The WWAN
       | slot has USB, but not PCI.
       | 
       | I ended up tapping into the original Bluetooth connector to steal
       | the USB lines and route them back to the PCI connector.
       | 
       | I had some issues at first with the device not enumerating
       | reliably, but it eventually settled down.
       | 
       | Now I have WiFi 6 and Bluetooth 5. Unfortunately the WiFi
       | frontend is extremely bad (it's a Chinese knockoff) and I have
       | pretty bad signal strength even literally on top of the router.
       | But it works well enough and my Bluetooth headphones now work
       | more than 10ft away from the machine.
       | 
       | The major problem is that the only WiFi 6 card available in mini
       | PCIe is knockoff Intel AX210 cards. I suppose that's fair, mPCIe
       | is basically obsolete these days. Unfortunately I don't have
       | space for a M.2 or other adapter. Maybe I could build a custom
       | express card
        
         | Rinzler89 wrote:
         | _> I reflashed the BIOS to kill the whitelist_
         | 
         | Still boggles my mind that people praise ThinkPads as an option
         | for those looking for repairability and upgradability while
         | casually talking about the built-in BIOS whitelist designed to
         | block all that.
         | 
         | To me that means an instant black ball.
         | 
         | It's cool hackers are patching this out, but this anti-consumer
         | feature should not be present in the first place in something
         | people recommend.
        
           | fullspectrumdev wrote:
           | The hardware itself (on most thinkpads I've owned anyway) is
           | really nice to work on, with service manuals available, lots
           | of parts, good community support.
           | 
           | Flashing the BIOS is also usually well documented.
           | 
           | I wish the BIOS flashing was not needed tbh, but at least
           | it's possible.
        
           | davisr wrote:
           | I run Libreboot on my ThinkPad and it works great.
        
           | kmeisthax wrote:
           | I have to wonder if there's a project for patching out this
           | stupid, blatantly anticompetitive restriction from old
           | ThinkPad firmwares. Especially with how many techies swear by
           | these things.
        
             | dehugger wrote:
             | Yes, there is... that is literally what the GP did.
        
           | numpad0 wrote:
           | Lots of other laptops has the same whitelist annoyance, and
           | are harder to tinker with. Lenovo is still nearly the least
           | cumbersome even with this.
           | 
           | Sony laptops were the worst: Sony has elitist culture when it
           | comes to miniaturization and engineering excellence, which
           | manifests as unsolderable gapless tiny solder pads in case
           | with PCBs. Fujitsu is better: they love to get creative with
           | their own testing criteria that results in excessively hot
           | laptops that relies on keyboard typing surfaces as heatsinks.
           | Toshiba designers seem to be smart and rational people who
           | understands that no one cares if they double sided
           | everything. Dell is just thick and heavy while not
           | particularly durable and occasionally being annoying with
           | proprietary accessories. HP seem to have every hardware and
           | software imported into their ERP and that can be annoying
           | sometimes like having HP-only bugs.
           | 
           | ThinkPads don't have that kinds of things. They note on
           | Hardware Maintenance Manual(HMM) that all removed screws must
           | be discarded and replaced with their beautiful urethane
           | coated and thread locked screws, and they still haven't made
           | value of ~220 as default for
           | `/sys/devices/platform/i8042/serio1/serio2/sensitivity`, and
           | that's it.
        
             | Rinzler89 wrote:
             | _> Lots of other laptops has the same whitelist annoyance_
             | 
             | Which other brands?
        
               | numpad0 wrote:
               | Like all of it. It's a feature in BIOS, and commercial
               | BIOS is sourced from Phoenix, AMI, Insyde, etc. It's like
               | asking which car brand use Brembo disc brakes. It's up to
               | designers and model dependent.
        
           | jwells89 wrote:
           | I don't know if Dell continued this in newer models, but I
           | was pleasantly surprised by the versatility of the WWAN slot
           | in my circa-2008 Precision workstation laptop.
           | 
           | No BIOS whitelist, antenna connectors that run up into the
           | screen where the front bezel is plastic (allowing good
           | reception), and plenty of room for an adapter. Grabbed a
           | cheap adapter and AX210 card and stuck them in there and it
           | all just works and so now it's equipped with BT and wifi
           | better than is in my 13-years-newer X1 Nano.
        
           | utensil4778 wrote:
           | How do you feel about the Intel management engine, which is a
           | permanent backdoor with _total_ hardware access which is
           | fundamentally impossible to remove? Or AMD 's equivalent, or
           | NVIDIA's proprietary driver blobs, or the closed and un-
           | auditable firmware on every computer ever?
           | 
           |  _Nobody_ is selling computers that are fully open. Even
           | Framework uses a closed firmware.
           | 
           | In our modern capitalist hellscape, you sometimes have to
           | settle for the least worst option. The BIOS whitelist on
           | older thinkpads is completely trivial to defeat, and apart
           | from that they _are_ incredibly durable and repairable
           | machines. The T530 came out in 2013, and has been my daily
           | driver for near 10 years, after buying it used for $100. I 'd
           | say that kind of longevity is more than worth the effort of
           | flipping some bits in a BIOS image.
           | 
           | If you want to draw hard lines like this, then you've ruled
           | out absolutely every machine produced in the last 30 years.
           | _Nothing_ is fully open. You simply have zero options.
        
           | dTal wrote:
           | Everything's relative. Sure, the BIOS whitelist is a serious
           | mark in the "bad" column. In the "good" column, my daily
           | driver is a Frankenpad made from a T480 with the 7-row
           | keyboard from a T25, the 500 nit screen and glass touchpad
           | from an X1 Carbon gen 6, a 2TB SSD upgrade, a 32GB RAM
           | upgrade (two slots! I could even have had 64) and a magnesium
           | lid for kicks. There is no other laptop brand with this many
           | options for slicing, dicing, and upgrading in this fashion.
           | 
           | Is this modularity mostly an incidental side effect of part
           | reuse and corporate serviceability for Lenovo's benefit
           | rather than ours? Sure. But hacking isn't always about what
           | things were _designed_ to do - it 's about what they _can_
           | do.
        
       | AshamedCaptain wrote:
       | > I use a Logitech mouse which can connect wirelessly to a USB
       | dongle over RF, providing lower latency and better battery life
       | than Bluetooth
       | 
       | In my experience this has not been true at all now that most
       | Logitech mice use LE ("Bluetooth Smart") rather than BT. The only
       | advantage the RF dongle has is that it works without an OS.... or
       | on an OS without a BT/LE stack, like here.
        
         | jwells89 wrote:
         | Dongles can also be handy for peripherals that are frequently
         | used on different machines, particularly if they don't have
         | built-in multi-pairing and quick host switching.
         | 
         | One exception to the "no BT/LE stack" case is the combo of
         | Apple input devices paired with Macs or hackintoshed generic
         | PCs with a handful of Broadcom-based BT chipsets used by Macs.
         | macOS flips some bit on those cards that tells them to keep
         | Apple peripherals paired at all times, which allows you to type
         | and mouse around in the pre-boot environment and subsequently-
         | booted OSes without drivers even on old BIOS-based machines
         | which can't load EFI drivers.
        
           | felixg3 wrote:
           | It's an apple exclusive thing, as they seem to be the only
           | implementer of a USB Bluetooth HID bridge which the Broadcom
           | adapter essentially exposes in firmware. There are a few
           | Bluetooth dongles with CSR chips that can be turned into USB
           | HID interfaces with previously paired Bluetooth peripherals.
        
           | AshamedCaptain wrote:
           | It just remembers any peripherals you have already paired
           | with the controller, it's nothing specific to "Apple
           | peripherals". And on the next boot it then shows up as a USB
           | HID device in the pre-OS environment, talking Bluetooth
           | behind the scenes to those same peripherals. I have a (10
           | year old?) DBT-120 from D-Link which did this, and even
           | Windows had some support for it.
           | 
           | Never seen anything for BLE; my wild guess is that Apple now
           | simply puts a BT stack on their UEFI. Not too far-fetched.
           | 
           | But it doesn't really help the noOS use case, since you still
           | need a BT stack with UI _somewhere_ in order to pair your
           | keyboard for the first time.
        
         | 5ADBEEF wrote:
         | RF dongles almost always are Nordic Semiconductor parts and
         | they use their proprietary (but open) protocol called Enhanced
         | Shockburst. The minimum latency of BLE is 7.5ms (fastest
         | connection interval in the spec) while ESB can be in the 100s
         | of microseconds. Not sure about power savings but latency is
         | better.
        
           | AshamedCaptain wrote:
           | > RF dongles almost always are Nordic Semiconductor parts and
           | they use their proprietary (but open) protocol called
           | Enhanced Shockburst.
           | 
           | Not really, Logitech actually uses the LE PHY even for their
           | "RF" protocol, at least since the Logitech Bolt controller
           | which is what TFA is talking about. You can sniff Bolt
           | traffic with a LE sniffer.
           | 
           | > The minimum latency of BLE is 7.5ms (fastest connection
           | interval in the spec) while ESB can be in the 100s of
           | microseconds
           | 
           | This makes for an average 4ms of latency, which matches what
           | Logitech advertises. Then USB is then going to introduce
           | 5-10ms at the very least...
        
       | gzalo wrote:
       | I don't get the point of designing and building a 3.3 to 5v
       | booster instead of just wiring a cable to one of the existing USB
       | C vbus 5v pins? Am I missing something?
        
         | user_7832 wrote:
         | If I understand right, the existing USB ports are only USB-C.
         | I'm not sure of what implementation the Nano has but if it
         | supports USB-PD it may be able to output up to 20V if the
         | "main" connected device asks for it.
        
           | gzalo wrote:
           | Fair enough, if it supports being charged using any port that
           | is reasonable. I would assume that the notebook has some
           | other internal 5v regulator, maybe for the embedded
           | controller or some other legacy device
        
         | russdill wrote:
         | It's the safe thing to do. If you source power from some other
         | place you have to worry about not accidentally back powering
         | something by mistake. Granted, this can be accomplished just by
         | carefully ruling out the possibility. Some people would rather
         | just not risk making a mistake here
        
           | breakingcups wrote:
           | I'm not an electronics engineer, but is it safe to shift 3.3v
           | to 5v if the underlying hardware wasn't designed for that? Is
           | there a chance to put too much strain on the power source?
        
             | avhon1 wrote:
             | The "strain" would depend on how many milliamps your 5V
             | device draws. I don't know the current consumption of these
             | logitech dongles, but it seems to be adequately low for
             | this hack to work.
        
             | Mogzol wrote:
             | All that really matters is how much power (watts, i.e.
             | voltage * current) the device draws compared with how much
             | power the laptop was designed to output. Shifting the
             | voltage doesn't really affect anything other than losing
             | some power to conversion inefficiencies.
        
             | toast0 wrote:
             | You've got to stay under the engineered current limits on
             | the provided 3.3v, including how much current is reasonable
             | on all the wiring to your boost converter, but chances are
             | good that mouse transceiver uses much less than the typical
             | usb bus powered maximum current of 500 mA, and even at 75%
             | efficiency, that's about 1 amp at 3.3v, which doesn't need
             | thick wires or traces, or a big power supply.
             | 
             | The transceiver probably does use more power than a
             | fingerprint reader, especially if the reader is idle, but
             | likely not enough to worry about.
        
         | blamazon wrote:
         | This solution is a clean one module plug and play solution,
         | that seems to be the justification for not doing a kludgier
         | hack like that.
        
       | dcminter wrote:
       | I encountered the same mpcie card whitelist nuisance on the
       | Lenovo m73 Tiny. Turns out there that you can just update the
       | serial and model number to "INVALID" and it will then let you
       | boot with a non-whitelisted device, albeit with an angry beep and
       | warning message.
       | 
       | https://www.reddit.com/r/homelab/comments/lx7d8f/pfsense_len...
       | 
       | Apparently it's possible to add the pcie device identifier to the
       | whitelist, but it looks like a very fiddly process and I didn't
       | really care about the minor issues resulting from the cruder
       | approach:
       | 
       | https://www.reddit.com/r/Lenovo/comments/dcf0lw/comment/fbpy...
       | 
       | No idea if any of that works on the X1 Nano, but you never know.
        
       | lemonlime0x3C33 wrote:
       | This was a joy to read, your easyEDA design looked great too! I
       | didn't know they had 3D capabilities.
        
       | k4rli wrote:
       | This blog has a nice screensaver, especially for OLED.
        
       | mushufasa wrote:
       | sounds like the author enjoyed the process. of course, if you
       | need more ports the thinkpad x13 is basically the same
       | size/weight of the nano with many more ports
        
         | sampa wrote:
         | no, it's not
        
       | adolph wrote:
       | Guys would rather design and PCBway an internal mod than for
       | OpenBSD support Bluetooth.
       | 
       | https://news.ycombinator.com/item?id=25950845
        
       ___________________________________________________________________
       (page generated 2024-06-30 23:00 UTC)