{"id":13709353,"url":"https://github.com/mtorromeo/r8168","last_synced_at":"2026-02-10T01:11:11.396Z","repository":{"id":28788647,"uuid":"32311435","full_name":"mtorromeo/r8168","owner":"mtorromeo","description":"Linux device driver for Realtek Ethernet controllers (unofficial mirror)","archived":false,"fork":false,"pushed_at":"2025-02-07T19:20:58.000Z","size":742,"stargazers_count":251,"open_issues_count":26,"forks_count":82,"subscribers_count":21,"default_branch":"master","last_synced_at":"2025-02-07T20:27:33.084Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://www.realtek.com/Download/List?cate_id=584","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/mtorromeo.png","metadata":{"files":{"readme":"README","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,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-03-16T08:36:28.000Z","updated_at":"2025-02-07T19:21:03.000Z","dependencies_parsed_at":"2024-04-21T14:32:31.265Z","dependency_job_id":"6bb736ed-9c4d-4ea5-aa14-29c636175632","html_url":"https://github.com/mtorromeo/r8168","commit_stats":null,"previous_names":[],"tags_count":24,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mtorromeo%2Fr8168","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mtorromeo%2Fr8168/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mtorromeo%2Fr8168/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mtorromeo%2Fr8168/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mtorromeo","download_url":"https://codeload.github.com/mtorromeo/r8168/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252713030,"owners_count":21792417,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":[],"created_at":"2024-08-02T23:00:38.389Z","updated_at":"2026-02-10T01:11:06.370Z","avatar_url":"https://github.com/mtorromeo.png","language":"C","funding_links":[],"categories":["C"],"sub_categories":[],"readme":"\u003cLinux device driver for Realtek Ethernet controllers\u003e\n\n\tThis is the Linux device driver released for RealTek Gigabit Ethernet controllers with PCI-Express interface.\n\n\u003cRequirements\u003e\n\n\t- Kernel source tree (supported Linux kernel 2.6.x and 2.4.x)\n\t- For linux kernel 2.4.x, this driver supports 2.4.20 and latter.\n\t- Compiler/binutils for kernel compilation\n\n\u003cQuick install with proper kernel settings\u003e\n\tUnpack the tarball :\n\t\t# tar vjxf r8168-8.aaa.bb.tar.bz2\n\n\tChange to the directory:\n\t\t# cd r8168-8.aaa.bb\n\n\tIf you are running the target kernel, then you should be able to do :\n\n\t\t# ./autorun.sh\t(as root or with sudo)\n\n\tYou can check whether the driver is loaded by using following commands.\n\n\t\t# lsmod | grep r8168\n\t\t# ifconfig -a\n\n\tIf there is a device name, ethX, shown on the monitor, the linux\n\tdriver is loaded. Then, you can use the following command to activate\n\tthe ethX.\n\n\t\t# ifconfig ethX up\n\n\t\t,where X=0,1,2,...\n\n\u003cSet the network related information\u003e\n\t1. Set manually\n\t\ta. Set the IP address of your machine.\n\n\t\t\t# ifconfig ethX \"the IP address of your machine\"\n\n\t\tb. Set the IP address of DNS.\n\n\t\t   Insert the following configuration in /etc/resolv.conf.\n\n\t\t\tnameserver \"the IP address of DNS\"\n\n\t\tc. Set the IP address of gateway.\n\n\t\t\t# route add default gw \"the IP address of gateway\"\n\n\t2. Set by doing configurations in /etc/sysconfig/network-scripts\n\t   /ifcfg-ethX for Redhat and Fedora, or /etc/sysconfig/network\n\t   /ifcfg-ethX for SuSE. There are two examples to set network\n\t   configurations.\n\n\t\ta. Fixed IP address:\n\t\t\tDEVICE=eth0\n\t\t\tBOOTPROTO=static\n\t\t\tONBOOT=yes\n\t\t\tTYPE=ethernet\n\t\t\tNETMASK=255.255.255.0\n\t\t\tIPADDR=192.168.1.1\n\t\t\tGATEWAY=192.168.1.254\n\t\t\tBROADCAST=192.168.1.255\n\n\t\tb. DHCP:\n\t\t\tDEVICE=eth0\n\t\t\tBOOTPROTO=dhcp\n\t\t\tONBOOT=yes\n\n\u003cModify the MAC address\u003e\n\tThere are two ways to modify the MAC address of the NIC.\n\t1. Use ifconfig:\n\n\t\t# ifconfig ethX hw ether YY:YY:YY:YY:YY:YY\n\n\t   ,where X is the device number assigned by Linux kernel, and\n\t\t  YY:YY:YY:YY:YY:YY is the MAC address assigned by the user.\n\n\t2. Use ip:\n\n\t\t# ip link set ethX address YY:YY:YY:YY:YY:YY\n\n\t   ,where X is the device number assigned by Linux kernel, and\n\t\t  YY:YY:YY:YY:YY:YY is the MAC address assigned by the user.\n\n\u003cForce Link Status\u003e\n\n\t1. Force the link status when insert the driver.\n\n\t   If the user is in the path ~/r8168, the link status can be forced\n\t   to one of the 5 modes as following command.\n\n\t\t# insmod ./src/r8168.ko speed=SPEED_MODE duplex=DUPLEX_MODE autoneg=NWAY_OPTION\n\n\t\t,where\n\t\t\tSPEED_MODE\t= 1000\tfor 1000Mbps\n\t\t\t\t\t= 100\tfor 100Mbps\n\t\t\t\t\t= 10\tfor 10Mbps\n\t\t\tDUPLEX_MODE\t= 0\tfor half-duplex\n\t\t\t\t\t= 1\tfor full-duplex\n\t\t\tNWAY_OPTION\t= 0\tfor auto-negotiation off (true force)\n\t\t\t\t\t= 1\tfor auto-negotiation on (nway force)\n\t\tFor example:\n\n\t\t\t# insmod ./src/r8168.ko speed=100 duplex=0 autoneg=1\n\n\t\twill force PHY to operate in 100Mpbs Half-duplex(nway force).\n\n\t2. Force the link status by using ethtool.\n\t\ta. Insert the driver first.\n\t\tb. Make sure that ethtool exists in /sbin.\n\t\tc. Force the link status as the following command.\n\n\t\t\t# ethtool -s ethX speed SPEED_MODE duplex DUPLEX_MODE autoneg NWAY_OPTION\n\n\t\t\t,where\n\t\t\t\tSPEED_MODE\t= 1000\tfor 1000Mbps\n\t\t\t\t\t\t= 100\tfor 100Mbps\n\t\t\t\t\t\t= 10\tfor 10Mbps\n\t\t\t\tDUPLEX_MODE\t= half\tfor half-duplex\n\t\t\t\t\t\t= full\tfor full-duplex\n\t\t\t\tNWAY_OPTION\t= off\tfor auto-negotiation off (true force)\n\t\t\t\t\t\t= on\tfor auto-negotiation on (nway force)\n\n\t\tFor example:\n\n\t\t\t# ethtool -s eth0 speed 100 duplex full autoneg on\n\n\t\twill force PHY to operate in 100Mpbs Full-duplex(nway force).\n\n\u003cJumbo Frame\u003e\n\tTransmitting Jumbo Frames, whose packet size is bigger than 1500 bytes, please change mtu by the following command.\n\n\t# ifconfig ethX mtu MTU\n\n\t, where X=0,1,2,..., and MTU is configured by user.\n\n\tRTL8168B/8111B supports Jumbo Frame size up to 4 kBytes.\n\tRTL8168C/8111C and RTL8168CP/8111CP support Jumbo Frame size up to 6 kBytes.\n\tRTL8168D/8111D supports Jumbo Frame size up to 9 kBytes.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmtorromeo%2Fr8168","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmtorromeo%2Fr8168","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmtorromeo%2Fr8168/lists"}