[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)