TL(4)
πΈ TL(4) β the Texas Instruments ThunderLAN Ethernet device driver πΈ
okay bestie, sit down, we're learning about tl β that's the Texas Instruments ThunderLAN Ethernet device driver, a real one from the Kernel Interfaces Manual section 4 (which is, like, drivers section, iykyk). this is the whole page, nothing skipped, so grab a snack π
β¨ SYNOPSIS β¨
so there's two ways you can get this driver living in your system, and it's giving "pick your fighter" π
option one: bake it into the kernel. drop these lines into your kernel configuration file:
device miibus
device tl
option two: load it as a module at boot time. then you just put this line into loader.conf(5):
if_tl_load="YES"
and that's it, that's the whole vibe. π«Ά
π DEPRECATION NOTICE π
bestie. listen. the tl driver is not present in FreeBSD 13.0 and later. it's gone, she left, she's not coming back. π
if you want the whole story, go read:
https://github.com/freebsd/fcp/blob/master/fcp-0101.md
π DESCRIPTION π
okay so what does this thing even do. the tl driver gives you support for PCI Ethernet adapters based on the Texas Instruments ThunderLAN Ethernet controller chip. iconic hardware, honestly. β¨
the ThunderLAN controller has a standard MII interface that supports up to 32 physical interface devices (PHYs). it ALSO has a built-in 10baseT PHY hardwired at MII address 31, which may be used in some 10Mbps-only hardware configurations. (so if you've got a weird little 10Mbps-only setup, she's got you. no cap.)
in 100Mbps configurations, a National Semiconductor DP83840A or other MII-compliant PHY may be attached to the ThunderLAN's MII bus. and if a DP83840A or equivalent is available, the ThunderLAN chip can operate at either 100Mbps or 10Mbps in either half-duplex or full-duplex modes. versatile queen π
the ThunderLAN's built-in PHY and the DP83840A also support autonegotiation. she talks to the other end and they figure it out together. communication! we love to see it. π
π media types
the tl driver supports the following media types:
autoselectβ enable autoselection of the media type and options. β οΈ note that this option is only available on those PHYs that support autonegotiation. also, the PHY will not advertise those modes that have been explicitly disabled using the following media options. so don't disable a thing and then be shocked she's not offering it. that's on you, babe.10baseT/UTPβ set 10Mbps operation.100baseTXβ set 100Mbps (Fast Ethernet) operation. zoom zoom π¦10base5/AUIβ enable AUI/BNC interface (useful only with the built-in PHY).
π media options
and here's the options list:
full-duplexβ force full duplex operation.half-duplexβ force half duplex operation.hw-loopbackβ enable hardware loopback mode.
heads up: the 100baseTX media type is only available if supported by the PHY. no PHY support, no 100baseTX, periodt.
for more info on configuring this device, go see ifconfig(8). π«Ά
π₯ HARDWARE π₯
the tl driver supports Texas Instruments ThunderLAN based Ethernet and Fast Ethernet adapters, including a large number of Compaq PCI Ethernet adapters. also supported are:
- Olicom OC-2135/2138 10/100 TX UTP adapter
- Olicom OC-2325/OC-2326 10/100 TX UTP adapter
- Racore 8148 10baseT/100baseTX/100baseFX adapter
- Racore 8165 10/100baseTX adapter
and she ALSO supports the built-in Ethernet adapters of various Compaq Prosignia servers and Compaq Deskpro desktop machines, including:
- Compaq Netelligent 10
- Compaq Netelligent 10 T PCI UTP/Coax
- Compaq Netelligent 10/100
- Compaq Netelligent 10/100 Dual-Port
- Compaq Netelligent 10/100 Proliant
- Compaq Netelligent 10/100 TX Embedded UTP
- Compaq Netelligent 10/100 TX UTP
- Compaq NetFlex 3P
- Compaq NetFlex 3P Integrated
- Compaq NetFlex 3P w/BNC
look at that list. she's a social butterfly, she gets along with EVERYONE. πΈ
π DIAGNOSTICS π
when things go sideways, here's what she's telling you. read the messages carefully, bestie, they're literally telling you the problem.
tl%d: couldn't map memoryβ a fatal initialization error has occurred. πtl%d: couldn't map interruptβ a fatal initialization error has occurred. πtl%d: device timeoutβ the device has stopped responding to the network, or there is a problem with the network connection (cable). check your cable. it's always the cable. πtl%d: no memory for rx listβ the driver failed to allocate an mbuf for the receiver ring.tl%d: no memory for tx listβ the driver failed to allocate an mbuf for the transmitter ring when allocating a pad buffer or collapsing an mbuf chain into a cluster.
π SEE ALSO π
go read these too, they're all part of the lore:
π HISTORY π
the tl device driver first appeared in FreeBSD 2.2. a whole legend from day one. β
π AUTHORS π
the tl driver was written by Bill Paul <wpaul@ctr.columbia.edu>. thank you Bill, we owe you everything. π
and that's the whole page, bestie!! this one came out of the Debian build of the manual, dated October 24, 2018, and you just read TL(4) top to bottom. no skimming, no skipping, we ate that whole thing. slay. π
β¨
π¦ where this page comes from
- debian bookworm: freebsd-manpages 12.2-1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- debian trixie: freebsd-manpages 12.2-2 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu jammy: freebsd-manpages 12.2-1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu noble: freebsd-manpages 12.2-1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu questing: freebsd-manpages 12.2-2
- ubuntu resolute: freebsd-manpages 12.2-2build1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu stonking: freebsd-manpages 12.2-2build1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- Copyright (c) 1997, 1998 Bill Paul <wpaul@ctr.columbia.edu>. All rights reserved
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms