Skip to content

Commit 5a91843

Browse files
authored
Merge pull request #13 from QiuSimons/Add-2.15-release
Add 2.15 release
2 parents 006c40b + ca545b3 commit 5a91843

File tree

3 files changed

+1706
-830
lines changed

3 files changed

+1706
-830
lines changed

50-usb-realtek-net.rules

Lines changed: 25 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -5,43 +5,42 @@ SUBSYSTEM!="usb", GOTO="usb_realtek_net_end"
55
ENV{DEVTYPE}!="usb_device", GOTO="usb_realtek_net_end"
66

77
# Modify this to change the default value
8-
ENV{REALTEK_NIC_MODE}="1"
8+
ENV{REALTEK_MODE1}="1"
9+
ENV{REALTEK_MODE2}="3"
910

1011
# Realtek
11-
ATTR{idVendor}=="0bda", ATTR{idProduct}=="8156", ATTR{bConfigurationValue}!="$env{REALTEK_NIC_MODE}", ATTR{bConfigurationValue}="$env{REALTEK_NIC_MODE}"
12-
ATTR{idVendor}=="0bda", ATTR{idProduct}=="8155", ATTR{bConfigurationValue}!="$env{REALTEK_NIC_MODE}", ATTR{bConfigurationValue}="$env{REALTEK_NIC_MODE}"
13-
ATTR{idVendor}=="0bda", ATTR{idProduct}=="8153", ATTR{bConfigurationValue}!="$env{REALTEK_NIC_MODE}", ATTR{bConfigurationValue}="$env{REALTEK_NIC_MODE}"
14-
ATTR{idVendor}=="0bda", ATTR{idProduct}=="8152", ATTR{bConfigurationValue}!="$env{REALTEK_NIC_MODE}", ATTR{bConfigurationValue}="$env{REALTEK_NIC_MODE}"
12+
ATTR{idVendor}=="0bda", ATTR{idProduct}=="815[2,3,5,6]", ATTR{bConfigurationValue}!="$env{REALTEK_MODE1}", ATTR{bConfigurationValue}="$env{REALTEK_MODE1}"
13+
ATTR{idVendor}=="0bda", ATTR{idProduct}=="8053", ATTR{bcdDevice}=="e???", ATTR{bConfigurationValue}!="$env{REALTEK_MODE2}", ATTR{bConfigurationValue}="$env{REALTEK_MODE2}"
1514

1615
# Samsung
17-
ATTR{idVendor}=="04e8", ATTR{idProduct}=="a101", ATTR{bConfigurationValue}!="$env{REALTEK_NIC_MODE}", ATTR{bConfigurationValue}="$env{REALTEK_NIC_MODE}"
16+
ATTR{idVendor}=="04e8", ATTR{idProduct}=="a101", ATTR{bConfigurationValue}!="$env{REALTEK_MODE1}", ATTR{bConfigurationValue}="$env{REALTEK_MODE1}"
1817

1918
# Lenovo
20-
ATTR{idVendor}=="17ef", ATTR{idProduct}=="304f", ATTR{bConfigurationValue}!="$env{REALTEK_NIC_MODE}", ATTR{bConfigurationValue}="$env{REALTEK_NIC_MODE}"
21-
ATTR{idVendor}=="17ef", ATTR{idProduct}=="3052", ATTR{bConfigurationValue}!="$env{REALTEK_NIC_MODE}", ATTR{bConfigurationValue}="$env{REALTEK_NIC_MODE}"
22-
ATTR{idVendor}=="17ef", ATTR{idProduct}=="3054", ATTR{bConfigurationValue}!="$env{REALTEK_NIC_MODE}", ATTR{bConfigurationValue}="$env{REALTEK_NIC_MODE}"
23-
ATTR{idVendor}=="17ef", ATTR{idProduct}=="3057", ATTR{bConfigurationValue}!="$env{REALTEK_NIC_MODE}", ATTR{bConfigurationValue}="$env{REALTEK_NIC_MODE}"
24-
ATTR{idVendor}=="17ef", ATTR{idProduct}=="3062", ATTR{bConfigurationValue}!="$env{REALTEK_NIC_MODE}", ATTR{bConfigurationValue}="$env{REALTEK_NIC_MODE}"
25-
ATTR{idVendor}=="17ef", ATTR{idProduct}=="3069", ATTR{bConfigurationValue}!="$env{REALTEK_NIC_MODE}", ATTR{bConfigurationValue}="$env{REALTEK_NIC_MODE}"
26-
ATTR{idVendor}=="17ef", ATTR{idProduct}=="3082", ATTR{bConfigurationValue}!="$env{REALTEK_NIC_MODE}", ATTR{bConfigurationValue}="$env{REALTEK_NIC_MODE}"
27-
ATTR{idVendor}=="17ef", ATTR{idProduct}=="3098", ATTR{bConfigurationValue}!="$env{REALTEK_NIC_MODE}", ATTR{bConfigurationValue}="$env{REALTEK_NIC_MODE}"
28-
ATTR{idVendor}=="17ef", ATTR{idProduct}=="7205", ATTR{bConfigurationValue}!="$env{REALTEK_NIC_MODE}", ATTR{bConfigurationValue}="$env{REALTEK_NIC_MODE}"
29-
ATTR{idVendor}=="17ef", ATTR{idProduct}=="720a", ATTR{bConfigurationValue}!="$env{REALTEK_NIC_MODE}", ATTR{bConfigurationValue}="$env{REALTEK_NIC_MODE}"
30-
ATTR{idVendor}=="17ef", ATTR{idProduct}=="720b", ATTR{bConfigurationValue}!="$env{REALTEK_NIC_MODE}", ATTR{bConfigurationValue}="$env{REALTEK_NIC_MODE}"
31-
ATTR{idVendor}=="17ef", ATTR{idProduct}=="720c", ATTR{bConfigurationValue}!="$env{REALTEK_NIC_MODE}", ATTR{bConfigurationValue}="$env{REALTEK_NIC_MODE}"
32-
ATTR{idVendor}=="17ef", ATTR{idProduct}=="7214", ATTR{bConfigurationValue}!="$env{REALTEK_NIC_MODE}", ATTR{bConfigurationValue}="$env{REALTEK_NIC_MODE}"
33-
ATTR{idVendor}=="17ef", ATTR{idProduct}=="721e", ATTR{bConfigurationValue}!="$env{REALTEK_NIC_MODE}", ATTR{bConfigurationValue}="$env{REALTEK_NIC_MODE}"
34-
ATTR{idVendor}=="17ef", ATTR{idProduct}=="8153", ATTR{bConfigurationValue}!="$env{REALTEK_NIC_MODE}", ATTR{bConfigurationValue}="$env{REALTEK_NIC_MODE}"
35-
ATTR{idVendor}=="17ef", ATTR{idProduct}=="a359", ATTR{bConfigurationValue}!="$env{REALTEK_NIC_MODE}", ATTR{bConfigurationValue}="$env{REALTEK_NIC_MODE}"
36-
ATTR{idVendor}=="17ef", ATTR{idProduct}=="a387", ATTR{bConfigurationValue}!="$env{REALTEK_NIC_MODE}", ATTR{bConfigurationValue}="$env{REALTEK_NIC_MODE}"
19+
ATTR{idVendor}=="17ef", ATTR{idProduct}=="304f", ATTR{bConfigurationValue}!="$env{REALTEK_MODE1}", ATTR{bConfigurationValue}="$env{REALTEK_MODE1}"
20+
ATTR{idVendor}=="17ef", ATTR{idProduct}=="3052", ATTR{bConfigurationValue}!="$env{REALTEK_MODE1}", ATTR{bConfigurationValue}="$env{REALTEK_MODE1}"
21+
ATTR{idVendor}=="17ef", ATTR{idProduct}=="3054", ATTR{bConfigurationValue}!="$env{REALTEK_MODE1}", ATTR{bConfigurationValue}="$env{REALTEK_MODE1}"
22+
ATTR{idVendor}=="17ef", ATTR{idProduct}=="3057", ATTR{bConfigurationValue}!="$env{REALTEK_MODE1}", ATTR{bConfigurationValue}="$env{REALTEK_MODE1}"
23+
ATTR{idVendor}=="17ef", ATTR{idProduct}=="3062", ATTR{bConfigurationValue}!="$env{REALTEK_MODE1}", ATTR{bConfigurationValue}="$env{REALTEK_MODE1}"
24+
ATTR{idVendor}=="17ef", ATTR{idProduct}=="3069", ATTR{bConfigurationValue}!="$env{REALTEK_MODE1}", ATTR{bConfigurationValue}="$env{REALTEK_MODE1}"
25+
ATTR{idVendor}=="17ef", ATTR{idProduct}=="3082", ATTR{bConfigurationValue}!="$env{REALTEK_MODE1}", ATTR{bConfigurationValue}="$env{REALTEK_MODE1}"
26+
ATTR{idVendor}=="17ef", ATTR{idProduct}=="3098", ATTR{bConfigurationValue}!="$env{REALTEK_MODE1}", ATTR{bConfigurationValue}="$env{REALTEK_MODE1}"
27+
ATTR{idVendor}=="17ef", ATTR{idProduct}=="7205", ATTR{bConfigurationValue}!="$env{REALTEK_MODE1}", ATTR{bConfigurationValue}="$env{REALTEK_MODE1}"
28+
ATTR{idVendor}=="17ef", ATTR{idProduct}=="720a", ATTR{bConfigurationValue}!="$env{REALTEK_MODE1}", ATTR{bConfigurationValue}="$env{REALTEK_MODE1}"
29+
ATTR{idVendor}=="17ef", ATTR{idProduct}=="720b", ATTR{bConfigurationValue}!="$env{REALTEK_MODE1}", ATTR{bConfigurationValue}="$env{REALTEK_MODE1}"
30+
ATTR{idVendor}=="17ef", ATTR{idProduct}=="720c", ATTR{bConfigurationValue}!="$env{REALTEK_MODE1}", ATTR{bConfigurationValue}="$env{REALTEK_MODE1}"
31+
ATTR{idVendor}=="17ef", ATTR{idProduct}=="7214", ATTR{bConfigurationValue}!="$env{REALTEK_MODE1}", ATTR{bConfigurationValue}="$env{REALTEK_MODE1}"
32+
ATTR{idVendor}=="17ef", ATTR{idProduct}=="721e", ATTR{bConfigurationValue}!="$env{REALTEK_MODE1}", ATTR{bConfigurationValue}="$env{REALTEK_MODE1}"
33+
ATTR{idVendor}=="17ef", ATTR{idProduct}=="8153", ATTR{bConfigurationValue}!="$env{REALTEK_MODE1}", ATTR{bConfigurationValue}="$env{REALTEK_MODE1}"
34+
ATTR{idVendor}=="17ef", ATTR{idProduct}=="a359", ATTR{bConfigurationValue}!="$env{REALTEK_MODE1}", ATTR{bConfigurationValue}="$env{REALTEK_MODE1}"
35+
ATTR{idVendor}=="17ef", ATTR{idProduct}=="a387", ATTR{bConfigurationValue}!="$env{REALTEK_MODE1}", ATTR{bConfigurationValue}="$env{REALTEK_MODE1}"
3736

3837
# TP-LINK
39-
ATTR{idVendor}=="2357", ATTR{idProduct}=="0601", ATTR{bConfigurationValue}!="$env{REALTEK_NIC_MODE}", ATTR{bConfigurationValue}="$env{REALTEK_NIC_MODE}"
38+
ATTR{idVendor}=="2357", ATTR{idProduct}=="0601", ATTR{bConfigurationValue}!="$env{REALTEK_MODE1}", ATTR{bConfigurationValue}="$env{REALTEK_MODE1}"
4039

4140
# Nvidia
42-
ATTR{idVendor}=="0955", ATTR{idProduct}=="09ff", ATTR{bConfigurationValue}!="$env{REALTEK_NIC_MODE}", ATTR{bConfigurationValue}="$env{REALTEK_NIC_MODE}"
41+
ATTR{idVendor}=="0955", ATTR{idProduct}=="09ff", ATTR{bConfigurationValue}!="$env{REALTEK_MODE1}", ATTR{bConfigurationValue}="$env{REALTEK_MODE1}"
4342

4443
# LINKSYS
45-
ATTR{idVendor}=="13b1", ATTR{idProduct}=="0041", ATTR{bConfigurationValue}!="$env{REALTEK_NIC_MODE}", ATTR{bConfigurationValue}="$env{REALTEK_NIC_MODE}"
44+
ATTR{idVendor}=="13b1", ATTR{idProduct}=="0041", ATTR{bConfigurationValue}!="$env{REALTEK_MODE1}", ATTR{bConfigurationValue}="$env{REALTEK_MODE1}"
4645

4746
LABEL="usb_realtek_net_end"

compatibility.h

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
#include <linux/init.h>
99
#include <linux/version.h>
1010
#include <linux/in.h>
11+
#include <acpi/acpi.h>
1112

1213
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,31)
1314
#include <linux/mdio.h>
@@ -16,6 +17,32 @@
1617
#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(3,7,0) */
1718
#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,31) */
1819

20+
#if LINUX_VERSION_CODE < KERNEL_VERSION(5,9,0)
21+
#define from_tasklet(var, callback_tasklet, tasklet_fieldname) \
22+
container_of((struct tasklet_struct *)callback_tasklet, typeof(*var), tasklet_fieldname)
23+
24+
#define tasklet_setup(t, fun) tasklet_init(t, fun, (unsigned long)t)
25+
#if LINUX_VERSION_CODE < KERNEL_VERSION(5,6,0)
26+
/* Iterate through singly-linked GSO fragments of an skb. */
27+
#define skb_list_walk_safe(first, skb, next_skb) \
28+
for ((skb) = (first), (next_skb) = (skb) ? (skb)->next : NULL; (skb); \
29+
(skb) = (next_skb), (next_skb) = (skb) ? (skb)->next : NULL)
30+
#if LINUX_VERSION_CODE < KERNEL_VERSION(5,4,0)
31+
#ifndef __has_attribute
32+
# define __GCC4_has_attribute___fallthrough__ 0
33+
#endif
34+
35+
#if __has_attribute(__fallthrough__)
36+
# define fallthrough __attribute__((__fallthrough__))
37+
#else
38+
# define fallthrough do {} while (0) /* fallthrough */
39+
#endif
40+
41+
#define MDIO_EEE_2_5GT 0x0001 /* 2.5GT EEE cap */
42+
#if LINUX_VERSION_CODE < KERNEL_VERSION(5,1,0)
43+
#define MDIO_AN_10GBT_CTRL_ADV2_5G 0x0080 /* Advertise 2.5GBASE-T */
44+
#define MDIO_AN_10GBT_STAT_LP2_5G 0x0020 /* LP is 2.5GBT capable */
45+
1946
#if LINUX_VERSION_CODE < KERNEL_VERSION(5,0,0)
2047
#if LINUX_VERSION_CODE < KERNEL_VERSION(4,20,0)
2148
#if LINUX_VERSION_CODE < KERNEL_VERSION(4,12,0)
@@ -58,6 +85,11 @@
5885
#define BITS_PER_BYTE 8
5986
#define reinit_completion(x) ((x)->done = 0)
6087
#if LINUX_VERSION_CODE < KERNEL_VERSION(3,12,0)
88+
#if LINUX_VERSION_CODE < KERNEL_VERSION(3,11,0)
89+
#define DEVICE_ATTR_RW(_name) \
90+
struct device_attribute dev_attr_##_name = __ATTR(_name, 0644, _name##_show, _name##_store)
91+
#define DEVICE_ATTR_RO(_name) \
92+
struct device_attribute dev_attr_##_name = __ATTR_RO(_name)
6193
#if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0)
6294
#define NETIF_F_HW_VLAN_CTAG_RX NETIF_F_HW_VLAN_RX
6395
#define NETIF_F_HW_VLAN_CTAG_TX NETIF_F_HW_VLAN_TX
@@ -462,6 +494,7 @@
462494
}
463495
#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(3,8,0) */
464496
#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0) */
497+
#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(3,11,0) */
465498
static inline bool usb_device_no_sg_constraint(struct usb_device *udev)
466499
{
467500
return 0;
@@ -516,7 +549,17 @@
516549
linkmode_clear_bit(nr, addr);
517550
}
518551

552+
#if LINUX_VERSION_CODE < KERNEL_VERSION(4,14,217) || LINUX_VERSION_CODE < KERNEL_VERSION(4,19,10)
553+
static inline void skb_mark_not_on_list(struct sk_buff *skb)
554+
{
555+
skb->next = NULL;
556+
}
557+
#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(4,14,217) || LINUX_VERSION_CODE < KERNEL_VERSION(4,19,10) */
519558
#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(5,0,0) */
559+
#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(5,1,0) */
560+
#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(5,4,0) */
561+
#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(5,6,0) */
562+
#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(5,9,0) */
520563

521564
#ifndef FALSE
522565
#define TRUE 1

0 commit comments

Comments
 (0)