첫 번째 질문은 간단히 말해서 3개의 다른 USB 셀룰러(GSM) 모뎀이 있고 각 SIM의 연결 프로필(APN이 다르기 때문에)이 항상 동일한 모뎀/SIM 조합을 사용하는지 확인하고 싶습니다. 여기서 문제는 USB의 특성상 재부팅 시 인터페이스 cdc-wdmx가 변경되고, nmcli 연결이 인터페이스 이름에 묶여 있기 때문에 연결이 나타나지 않는다는 점입니다.
그래서 udev 규칙을 사용하여 물리적 USB 포트를 가리키는 심볼릭 링크를 만들었습니다. 모뎀 1은 항상 첫 번째 USB 포트에 연결된 장치라는 생각입니다. 이것은 작동하고 심볼릭 링크가 올바르게 표시되지만 어떤 이유로 연결 프로필에 심볼릭 링크를 사용할 수 없습니다.
좀 더 명확하게 설명하려면 다음 예를 살펴보세요.
모뎀과 SIM 카드 조합 A는 Vodafone입니다. 모뎀이 부팅되면 SIM 조합 A에 NMCLI에 표시된 이름인 cdc-wdm0이 할당됩니다. cdc-wdm0을 가리키는 apn "인터넷"을 사용하여 Vodafone에 대한 연결 프로필을 만들었습니다. 연결이 유효합니다.
모뎀과 SIM 카드 조합 B는 O2입니다. 시작 시 medem SIM 조합 B에는 NMCLI에 표시된 이름이기도 한 cdc-wdm1이 할당됩니다. cdc-wdm1을 가리키는 APN "mobile.o2.co.uk"를 사용하여 O2에 대한 연결 프로필을 만들었습니다. 연결이 정상입니다.
그러나 시스템이 다시 시작된 후:
- Moden 및 SIM 조합 A는 이제 cdc-wdm1에 할당됩니다.
- 모뎀 및 SIM 조합 B는 이제 cdc-wdm0에 할당됩니다.
결과적으로 잘못된 APN이 구성되어 연결이 작동하지 않습니다.
내 모뎀 udev 규칙은 다음과 같으며 실제로 작동합니다.
SUBSYSTEM=="usbmisc", ACTION=="add", KERNEL=="cdc-wdm*", KERNELS=="1-1:1.4", SYMLINK+="3rd-mdm"
SUBSYSTEM=="usbmisc", ACTION=="add", KERNEL=="cdc-wdm*", KERNELS=="1-4.4", SYMLINK+="4th-mdm"
SUBSYSTEM=="usbmisc", ACTION=="add", KERNEL=="cdc-wdm*", KERNELS=="1-2:1.4", SYMLINK+="1st-mdm"
SUBSYSTEM=="usbmisc", ACTION=="add", KERNEL=="cdc-wdm*", KERNELS=="1-4.3", SYMLINK+="2nd-mdm"
그리고 udevadm 정보 아래에 심볼릭 링크가 표시됩니다.
[root@localhost rules.d]# udevadm info /dev/cdc-wdm1
P: /devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4.3/1-4.3:1.4/usbmisc/cdc-wdm1
N: cdc-wdm1
**S: 2nd-mdm**
E: DEVLINKS=/dev/2nd-mdm
E: DEVNAME=/dev/cdc-wdm1
E: DEVPATH=/devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4.3/1-4.3:1.4/usbmisc/cdc-wdm1
E: ID_MM_CANDIDATE=1
E: MAJOR=180
E: MINOR=177
E: SUBSYSTEM=usbmisc
E: USEC_INITIALIZED=88077
누구든지 이 문제를 해결하는 방법을 말해 줄 수 있나요?