10-гигабитной локалкой уже никого не удивишь, много лет такое железо доступно на еБее и даже на местных сайтах бесплатных объявлений по совсем бросовым ценам. Дома я уже всё что можно было перевёл на 10G и не у дел остались только ноутбуки. Существуют готовые thunderbolt↔SFP+ адаптеры, типа sonnettech Solo10G SFP+ но они стоят $230/17к руб и выше. Или QNAP QNA‑T310G1S $270/20к руб. Многовато для эпизодического использования, большую игру/фильм или дистрибутив на ноутбук я копирую не каждый день. Другая мысль — взять кейс для внешних GPU (eGPU), он дешёвый если втыкается в m.2 слот, а разбирать ноут каждый раз, когда нужна сеть — так себе идея. Но кейсы, подключаемые через thunderbolt, не уступают по цене вышеназванным адаптерам:( Готовый бокс раньше (пару лет назад) стоил в районе $300, но сейчас на али есть разные варианты: Вот этот последний вариант меня и заинтересовал, уж очень подозрительно он похож на переходник для nvme‑ssd. Который и был довольно быстро обнаружен и заказан. Адаптер ORICO для SSD приехал очень быстро и даже работает с нвме‑диском. В комплекте шланг тандерболт 3 на 40гбпс. На кабель 10G(usb3) жалуется и не работает, вообще никак, даже со сниженной скоростью. Кабели thunderbolt3 длиной 1м стоят от $15+, похоже придётся раскошелиться или терпеть короткий провод. Тандерболт построен на базе Intel® JHL6340 4 lanes of PCI Express Gen 3, такие же чипы стоят, например, в разеровском eGPU. Правда, кроме рекламного буклета на них ничего в интернете не известно, а даташит интел зажопил. Голые платы делают вот эти китайцы, если кто‑то имеет опыт розничных заказов с алибабы, то выгоднее взять там. Как показала беглая гуглёжка, моя идея не нова, и кто‑то уже успел с таким сетапом огрести проблемы. У меня тоже завелось всё не сразу, дело в том, что сетевым картам (да и много каким другим устройствам PCIe) требуется питание 12V. Причём, нужно соблюдать правильный power sequence: в идеале 12v и 3.3v нужно подавать одновременно, ну или 12v чуть‑чуть позднее, чем 3v3. Из всего, что у меня было, только карты Mellanox оказались наименее требовательны к питанию и заводились при ручном втыкании проводов. Чтобы каждый раз не жонглировать кабелями (usb-c и внешнего питания), пришлось спаять ключ на 12v из того, что было под рукой: После этого завелись другие карточки, например, сетевуха solarflare и даже GTX710, но такой минимальный вариант работает с определёнными проблемами: При отключении thunderbolt‑кабеля от ноута драйвер mellanox очень удивляется и начинает целиком пожирать одно ядро процессора; Solarflare удивляется меньше, но после пере‑подключения кабеля сетевуху уже не видит; Сеть не набирает полную скорость, потому что мы ограничены не только 4-мя линиями PCIe в переходнике thunderbolt, а только 2-мя линиями которые разведены на зелёной какашке дешёвом переходнике с m.2... Первые две проблемы удалось решить так: после долгого перебора в devmgmt.msc того, что можно выключать, а что не очень, выяснилось, что надо отключить PCIe Upstream Switch Port, он за собой утаскивает Downstream и саму сетевуху. Только после этого можно отключать провод, и при следующем включении все устройства вернутся обратно. Не очень удобно, но наверное можно написать какой‑то скрипт... А вот для решения третьей проблемы пришлось снова идти на алиэкспресс и в куче китайского говразнообразия искать нормальный переходник на 4 линии.И паять на него ключ для питания. Я решил выпендриться и сделать типа-SMD-монтаж, воспользовавшись присланными когда-то в довоенное время семплами от NXP, в частности готовым ключем PMC85XP.  Итоговый результат: Теперь насчёт софта: какое-то время я так и пользовался, вручную выключая порт в девайс-менеджере. Но недавно решил снова поднять эту тему и сделать что-то похожее на меню извлечения флэшек. К сожалению, малой кровью это решить не удалось: devcon.exe и подобные ему тулзы напрочь отказываются работать с уже покинувшими систему устройствами. Поэтому пришлось писать свою программу. Для прикола решил воспользоваться новомодным языком zig. Всё оказалось достаточно просто. Для извлечения устройств полно примеров как в msdn, так и разнообразного опенсорса на гитхабе. Кода всего получилось меньше 300 строк: main.zig Поначалу тулза был консольная (так проще), но потом я решил прикрутить меню, похожее на «извлекалку флэшек». Сил хватило только на само меню, поэтому после красивого графического выбора устройства на вас выпрыгнет консоль и будет писать, что она делает: Я уже много лет не писал GUI-приложения, а особенно на незнакомых языках, но всё оказалось достачно просто: кроме неочевидного требования создать хоть какое-то окно, всё что требуется — вызвать метод TrackPopupMenu и дело в шляпе! Больше всего времени у меня ушло на вытаскивание иконок устройств. Из-за желания windows сохранять обратную совместимость с совсем древними версиями, а так же неуёмного желания программистов придумать «новый самый лучший API», для этой цели в Windows есть как минимум 5 разных подходов, но иконки как в системном меню (и devmgmt) даёт только один, и естественно, я его попробовал самым последним... Новый язык прогаммирования мне очень понравился, можно заслуженно назвать его “better C” (по аналогии, как Rust называют “better C++”). Но он всё ещё находится в активной разработке, поэтому самая свежайшая версия компилятора мой код уже не соберёт. Если кому интересно, то исходники доступны на гитхабе. И нужная версия компилятора (со ссылкой откуда скачать) там тоже указана. В заключение, вопрос к читателям: пользовались ли вы eGPU? И пробовали ли туда включать что-то кроме собственно самих GPU?  Самоуверенный пользователь ПК