Skip to content

Commit a8a9808

Browse files
authored
Add 2.15 release
1 parent 006c40b commit a8a9808

File tree

3 files changed

+1698
-830
lines changed

3 files changed

+1698
-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: 35 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,27 @@
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+
1941
#if LINUX_VERSION_CODE < KERNEL_VERSION(5,0,0)
2042
#if LINUX_VERSION_CODE < KERNEL_VERSION(4,20,0)
2143
#if LINUX_VERSION_CODE < KERNEL_VERSION(4,12,0)
@@ -58,6 +80,11 @@
5880
#define BITS_PER_BYTE 8
5981
#define reinit_completion(x) ((x)->done = 0)
6082
#if LINUX_VERSION_CODE < KERNEL_VERSION(3,12,0)
83+
#if LINUX_VERSION_CODE < KERNEL_VERSION(3,11,0)
84+
#define DEVICE_ATTR_RW(_name) \
85+
struct device_attribute dev_attr_##_name = __ATTR(_name, 0644, _name##_show, _name##_store)
86+
#define DEVICE_ATTR_RO(_name) \
87+
struct device_attribute dev_attr_##_name = __ATTR_RO(_name)
6188
#if LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0)
6289
#define NETIF_F_HW_VLAN_CTAG_RX NETIF_F_HW_VLAN_RX
6390
#define NETIF_F_HW_VLAN_CTAG_TX NETIF_F_HW_VLAN_TX
@@ -462,6 +489,7 @@
462489
}
463490
#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(3,8,0) */
464491
#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(3,10,0) */
492+
#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(3,11,0) */
465493
static inline bool usb_device_no_sg_constraint(struct usb_device *udev)
466494
{
467495
return 0;
@@ -516,7 +544,14 @@
516544
linkmode_clear_bit(nr, addr);
517545
}
518546

547+
static inline void skb_mark_not_on_list(struct sk_buff *skb)
548+
{
549+
skb->next = NULL;
550+
}
519551
#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(5,0,0) */
552+
#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(5,4,0) */
553+
#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(5,6,0) */
554+
#endif /* LINUX_VERSION_CODE < KERNEL_VERSION(5,9,0) */
520555

521556
#ifndef FALSE
522557
#define TRUE 1

0 commit comments

Comments
 (0)