{"id":41097323,"url":"https://github.com/acooks/tn40xx-driver","last_synced_at":"2026-01-22T14:59:43.644Z","repository":{"id":45889308,"uuid":"106626101","full_name":"acooks/tn40xx-driver","owner":"acooks","description":"Linux driver for tn40xx from Tehuti Networks","archived":false,"fork":false,"pushed_at":"2024-01-29T10:11:24.000Z","size":3012,"stargazers_count":65,"open_issues_count":27,"forks_count":48,"subscribers_count":16,"default_branch":"develop","last_synced_at":"2024-01-29T13:10:37.083Z","etag":null,"topics":["10gbit","driver","linux-drivers","linux-kernel-driver","tehuti-networks","tn40xx"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/acooks.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2017-10-12T00:50:37.000Z","updated_at":"2024-01-09T11:33:22.000Z","dependencies_parsed_at":"2022-09-24T18:50:36.555Z","dependency_job_id":"9289ea8e-d4e4-41ac-9cab-233ff829bdb0","html_url":"https://github.com/acooks/tn40xx-driver","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/acooks/tn40xx-driver","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/acooks%2Ftn40xx-driver","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/acooks%2Ftn40xx-driver/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/acooks%2Ftn40xx-driver/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/acooks%2Ftn40xx-driver/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/acooks","download_url":"https://codeload.github.com/acooks/tn40xx-driver/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/acooks%2Ftn40xx-driver/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28664825,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-22T14:01:31.714Z","status":"ssl_error","status_checked_at":"2026-01-22T13:59:23.143Z","response_time":144,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["10gbit","driver","linux-drivers","linux-kernel-driver","tehuti-networks","tn40xx"],"created_at":"2026-01-22T14:59:43.525Z","updated_at":"2026-01-22T14:59:43.637Z","avatar_url":"https://github.com/acooks.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"\nThis repo contains the tn40xx Linux driver for 10Gbit NICs based on the TN4010 MAC from the (now defunct) Tehuti Networks.\n\nThis driver enables the following 10Gb SFP+ NICs:\n- D-Link DXE-810S\n- Edimax EN-9320SFP+\n- StarTech PEX10000SFP\n- Synology E10G15-F1\n\n... as well as the following 10GBase-T/NBASE-T NICs:\n- D-Link DXE-810T\n- Edimax EN-9320TX-E\n- EXSYS EX-6061-2\n- Intellinet 507950\n- StarTech ST10GSPEXNB\n\nThis repo aims to:\n- slowly transform the driver into a potentially upstreamable state\n- make it easily downloadable for Linux distributions and build systems\n\nThe older TN3020-D (Luxor) processor has a mainline Linux driver, but that driver doesn't support the TN40xx (Bordeaux) devices.\n\n# Problematic NICs\n\nIf you have a NIC that combines the tn40xx MAC with a Marvell PHY, you will have to go on a quest to obtain the firmware for the PHY. It cannot be distributed or supported by this driver, because Marvell has not permitted redistribution of the firmware.\n\n## How to tell if you have an unsopported PHY\n   ```\n   lspci -vnn\n   ```\n\nwill output something like this:\n\n   ```\n    0a:00.0 Ethernet controller [0200]: Tehuti Networks Ltd. TN9210 10GBase-T Ethernet Adapter [1fc9:4024]\n\tSubsystem: Tehuti Networks Ltd. Device [1fc9:3015]\n   ```\n\n   In the example above, 0x1fc9 is the Vendor ID and 0x4024 is the Device ID. 0x3015 is the Subsystem Device ID.\n\n   The problematic devices are identified by these combinations of Device ID and Subsystem Device ID:\n   - 4024, 3015 \"TN9210 10GBase-T Ethernet Adapter\",\n   - 4027, 3015 \"TN9710P 10GBase-T/NBASE-T Ethernet Adapter\",\n   - 4027, 8104 \"Edimax 10 Gigabit Ethernet PCI Express Adapter\",\n   - 4027, 0368 \"Buffalo LGY-PCIE-MG Ethernet Adapter\",\n   - 4027, 1546 \"IOI GE10-PCIE4XG202P 10Gbase-T/NBASE-T Ethernet Adapter\",\n   - 4027, 1001 \"LR-Link LREC6860BT 10 Gigabit Ethernet Adapter\",\n   - 4027, 3310 \"QNAP PCIe Expansion Card\",\n   - 4527, 3015 \"TN9710Q 5GBase-T/NBASE-T Ethernet Adapter\"\n\n\n# Problematic Kernel versions\n\nOccasionally people ask for help with old kernels, or kernels based on Enterprise Linux distributions. Unfortunately, this is something that is difficult for me (Andrew) to help with. I haven't got the time, and I believe that Enterprise Linux vendors should be providing this support, and be paid for it. Please seek help from the vendor of the Enterprise Linux distribution, or consider whether your needs and interests may be better aligned with an up-to-date community-supported distribution.\n\n# Install\n\nWhile upstreaming is the ultimate goal of this project, some systems already rely on this driver. For such systems, DKMS provides a convenient way to install and update the driver, [See DKMS instructions](docs/dkms.md).\n\n# Branches\n\nThis repo contains several long-lived branches. You may have to look around for support for the kernel version and PHY that you have.\n- `release/linux-6.7.y-1` --\u003e 6.7.x \u003c= Linux\n- `release/linux-6.6.y-1` --\u003e 6.6.x \u003c= Linux \u003c 6.8\n- `release/tn40xx-006`    --\u003e 5.15.x \u003c= Linux \u003c 6.8\n- `release/tn40xx-004`    --\u003e 5.4 \u003c Linux \u003c 5.15\n- `release/tn40xx-003`    --\u003e Linux \u003c= 5.4\n- `vendor-drop/v0.3.6.17`\n\nMore detail on branching in [described in the documentation](docs/branches.md).\n\n# Thanks\n\nTo the following people who have contributed to this project - thank you!\n- Jean-Christophe Heger\n- Nickolai Zeldovich\n- Patrick Heffernan\n- Carsten Heinz\n\n# Origin\n\nA tn40xx driver was distributed by Tehuti Networks under GPLv2 license, as well as various OEM vendors, like those listed above.\n\nThe last release of the driver by Tehuti Networks was version 0.3.6.17.2, imported to this repo in commit 894992c904a6b0e99 on Jan 7 2020.\n\nOn Jan 9 2020 a message was posted to Tehuti Networks' LinkedIn page, announcing that it has ceased operations.\n\nThe original source releases have been preserved in unmodified state in the `vendor-drop/` branches.\n\nThis repo does not claim any copyright over the original Tehuti Networks source code, but it has been significantly modified and continues to evolve and hopefully improve.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Facooks%2Ftn40xx-driver","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Facooks%2Ftn40xx-driver","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Facooks%2Ftn40xx-driver/lists"}