TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

I turned my ThinkPad into a programmable USB device

376 点作者 true_pk超过 1 年前

24 条评论

aendruk超过 1 年前
One thing I’ve always wondered is why it’s not common to be able to use a laptop as a generic keyboard and monitor for another computer. For doing maintenance on a headless machine it feels silly to go buy a keyboard and monitor when my laptop already is those.
评论 #39473358 未加载
评论 #39472199 未加载
评论 #39477895 未加载
评论 #39471970 未加载
评论 #39476991 未加载
评论 #39472003 未加载
评论 #39473913 未加载
评论 #39476294 未加载
评论 #39479026 未加载
评论 #39477828 未加载
评论 #39471928 未加载
controversial97超过 1 年前
This reminds me of a thing from a few years ago, my vague memory is that it was by Travis Goodspeed.<p>A smart TV would accept a firmware update from a file on a standard USB stick.<p>The TV reads the file start to finish to check the digital signature then reads it again to update.<p>A device that is pretending to be a USB storage device can send a manufacturer firmware file the first time then send your unofficial firmware after.
评论 #39474225 未加载
steelbrain超过 1 年前
This is really interesting. I&#x27;ve been researching some viable options like this. I have a beefy Network Attached Storage (NAS) server that I actively look for excuses to make use of. I have connected with some 40g and 10g interconnects for it across the house. I also have a PS5 &amp; XBox that use USB hard-drives for additional storage.<p>I looked into whether I could expose my NAS storage to PS5 &amp; XBox. Turns out that it&#x27;s possible! It&#x27;s possible by mounting the NAS shares over iSCSI or NFS, and then emulating a USB storage device using the g_mass_storage module that exposes said storage to USB hosts.<p>Besides time and cost, one major blocker for me right now is the bandwidth that such a system would provide. It&#x27;s just not that big of an upgrade. Raspberry Pi very famously supports USB-OTG (similar&#x2F;same as xDCI), but it only does so with USB 2.0 speeds, and so do all the other SBCs in that class that I found, except for one, RockPi4. RockPi has a Gigabit ethernet port, so if you max out ethernet, you can provide stable HDD speeds to both the PS5 &amp; Xbox.<p>It would be really interesting to explore a solution where you have the ability to plug in a custom PCIe network card (or an express card) that lets you go beyond 1gbe because then you can really saturate the USB 3.0 interface.
评论 #39475905 未加载
评论 #39476654 未加载
评论 #39475081 未加载
evanjrowley超过 1 年前
I&#x27;m grateful for this extremely detailed article. Great quality here.<p>The fact that this has been achieved gives me hope that a networkless Synergy &#x2F; Mouse Without Borders setup might be possible using just a modified USB cable. That&#x27;s great for people like me who need to operate multiple computers simultaneously.
评论 #39471670 未加载
lathiat超过 1 年前
I was looking into similar recently just wanting to do 10Gbps between two USB-C machines over USB with just a USB-C cable. Unfortunately most Ryzen boards still don&#x27;t have Thunderbolt (which supports this natively and easily). And &quot;dual role&quot; USB controllers were quite uncommon (or as this article details, possible but not supported) until USB 3.2&#x2F;4.0 - and even then it seems a bit hit and miss. It&#x27;s totally crazy to me it&#x27;s not easier to network two machines with a USB-C cable (without Thunderbolt).<p>I also love the part about the lock bit being cleared after a suspend, that seems to be such a common issue.. super common way to get SATA devices out of the state preventing secure erase for example.
erik超过 1 年前
This goes to an impressive level of depth.<p>The ability to use a PC as a USB device opens up lots of fun possibilities. It&#x27;s a little bit tragic that the required xDCI option is there in the hardware on this device, but it&#x27;s not exposed and requires firmware hacking to access.<p>The hardware is capable, but the vendor has just turned it off and locked away the controls.
PennRobotics超过 1 年前
I wonder if Lenovo is using this as a path to debugging one ThinkPad using another:<p><a href="https:&#x2F;&#x2F;www.intel.com&#x2F;content&#x2F;www&#x2F;us&#x2F;en&#x2F;developer&#x2F;articles&#x2F;technical&#x2F;software-security-guidance&#x2F;secure-coding&#x2F;intel-debug-technology.html" rel="nofollow">https:&#x2F;&#x2F;www.intel.com&#x2F;content&#x2F;www&#x2F;us&#x2F;en&#x2F;developer&#x2F;articles&#x2F;t...</a><p>---<p>Update: probably.<p><a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=ExUvQa_jB7c" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=ExUvQa_jB7c</a><p>(Debugging Intel Firmware using DCI &amp; USB 3 0)
Topgamer7超过 1 年前
&gt; However, dealing with a Raspberry Pi is a hassle: plugging in the wires, booting the board, accessing the shell, etc<p>Probably just could have configured USB OTG, so its powered by the device you plug in, enable shell, then scripted this. Then you can configure mounts over ssh, commands over ssh, probably even mount the device.<p>That being said, I encourage people to try to understand their devices, read the kernel, etc. Its something I strive to continually improve. Lets fix our own shit :D.
评论 #39472353 未加载
freedomben超过 1 年前
This reminds me so much of the early internet hacker culture that it&#x27;s actually triggering nostalgia. What a great write-up! When ESR talked about becoming a hacker (hacker in the <i>Hacker News</i> sense), this is the type of person he was talking about.<p>The combination of curiosity, dedication, and technical ability is exceedingly rare, and majorly impressive. Thanks so much for sharing!
stragies超过 1 年前
I have a Celeron N3350&#x2F;Pentium N4200&#x2F;Atom E3900 based system, that exposes an xDCI switch in the bios, and upon enabling it, I do get some other options, and upon bootup into linux a PCI device &quot;USB controller: Intel Corporation Device 5aaa (rev 0b)&quot;<p>But the UDC device node is not showing up. So it seems I have to dig a bit further using inspiration from the OP
lights0123超过 1 年前
I was recently pleasantly surprised by a Linux utility that can list all UEFI variables stored in Hii and change them: <a href="https:&#x2F;&#x2F;github.com&#x2F;linuxboot&#x2F;uefisettings&#x2F;">https:&#x2F;&#x2F;github.com&#x2F;linuxboot&#x2F;uefisettings&#x2F;</a><p>Obviously can&#x27;t bypass security settings like this laptop has, but it&#x27;s useful for a few settings in my case.
urbandw311er超过 1 年前
Wow - this guy REALLY wanted to use his xDCI capability and was <i>not</i> going to stop until he had done so!
mrmuagi超过 1 年前
I&#x27;m actually trying to do this on a Raspberry Pi right now to emulate a HDI. There are a lot of existing libraries that do this. I needed to do this because the native SendMessage&#x2F;PostMessage ways to send keystrokes to a Windows process break down when you need to send modifier keys -- I needed to send &quot;:&quot; but I could only send &quot;;&quot;. I tried endlessly to send the &quot;shift&quot; modifier key to no avail.<p>I actually considered directly writing to memory to &quot;trick&quot; the program to think certain keys are pressed (but this doesn&#x27;t work for emulating actual typing input), or hook into functions with a dll injection and interleave fake input somehow.
tamimio超过 1 年前
I quickly skimmed through it but great detailed article, and love the excessive use of emojis, not the typical boring wall of texts!
Log_out_超过 1 年前
Imagine a world were all kinds of platforms could be add hoc merged into one large &quot;kernel&quot; that allows to combine all sorts of hardware into one huge device. Old laptops, old phones, it&#x27;s all merged into one huge abomination.
seba_dos1超过 1 年前
I&#x27;m somewhat irrationally irked by the use of the word &quot;emulated&quot;. It does not &quot;emulate&quot; a USB device, it <i>becomes</i> one! This mechanism is exactly what all your gadgets with Linux on-board use to be USB devices.
urbandw311er超过 1 年前
Why did they cripple this capability by hiding it in an undocumented and disabled BIOS setting?
评论 #39475998 未加载
luxuryballs超过 1 年前
So does this mean I could essentially copy and paste between two machines by just feeding standard USB keyboard input into one of them?
explodingwaffle超过 1 年前
Great article. You would hope this feature was more readily exposed on USB-C laptops where it makes a bit more sense… oh well.
actionfromafar超过 1 年前
Being able to emulate a USB block device is really neat! Talk about easy way to copy files to another computer. :)
评论 #39480428 未加载
icodefuture超过 1 年前
Great article, thanks for sharing.
imhoguy超过 1 年前
Pity I can&#x27;t do that with my AMD Ryzen ThinkPad.
rubatuga超过 1 年前
Woah it&#x27;s the stuff of dreams.
zzz999超过 1 年前
You can do that with cheap ESP boards worth about $3
评论 #39476746 未加载
评论 #39476651 未加载