Hacker News 의견
  • 예전 직장에서 Android 기기와 CDC Ethernet 어댑터를 연결하려다 고생한 후 이 글을 작성한 경험 공유, 그 후 몇몇 사람들로부터 MAC 주소의 특정 비트를 바꾸면 커널이 ethX 이름을 할당하게 된다는 사실을 들었다는 이야기, 본인은 직접 테스트하거나 해당 내용을 게시글에 반영하지는 않았고, 요즘은 Android 기기를 거의 사용하지 않는다는 설명, 이 방법은 오로지 MAC 주소를 컨트롤할 수 있을 때만 쓸 수 있다는 전제 추가
    • 이 정보 내게 도움이 될 수 있을 것 같다는 반응, 어느 비트인지 찾았다며 관련 링크 공유
    • 해당 포스트에 긍정적 반응 표출
  • 흥미로운 딥다이브 아티클이라는 평가, 소스를 확인해보니 2023년 10월에 문제의 정규식이 eth\d에서 *로 변경된 것 같고, 이로 인해 문제가 해결된 것으로 추정, 관련 코드 변경 링크 제시, Android U+ (아마 버전 14)부터 기본적으로 usb\d+와 eth%d 모두를 포함하게 됐다는 설명
    • 해당 변경 사항이 나중에 "usbX 인터페이스로 테더링하는 기기가 있기 때문"에 대해 롤백(되돌림) 됐다는 사실, 곧이어 Android V+ 버전(신규 버전)만 지원하도록 다시 반영됐다고 설명, 롤백 관련 링크, 최종 적용 링크도 첨부
  • Android의 EthernetTracker 서비스가 ethX로 네이밍된 인터페이스만 인정한다는 부분에 대한 강한 비판, 리눅스 배포판에서는 이미 2000년대에 이런 문제를 해결했다는 설명, 드라이버마다 자기만의 네임 프리픽스를 쓰는 경우가 많아 시스템 전체를 조사해야 하는 불편함이 있었다는 회고, 오늘날 리눅스 배포판은 udev와 같은 도구로 네트워크 인터페이스명을 자동 변경하고, 이 과정이 커널의 SIOCSIFNAME ioctl 호출로 작동한다는 설명, 최신 커널에서는 "wlan*" 혹은 "wlan%d" 식의 이름에 자동 숫자가 부여되는 편리함까지 제공한다는 점 덧붙임
  • LineageOS 커밋 히스토리를 보면 해당 문제가 수정됐다가 다시 호환성 문제로 되돌려졌고, 최신 Android 버전에는 다시 적용된 상태라는 분석, 커밋 내용을 보면 Google 소속도 관여한 것으로 보여서 구글 공식 빌드에서도 적용됐을 가능성이 있다는 의견
  • "<i>config_ethernet_iface_regex 값을 바꾸기 위해선 폰을 루팅하는 것 외엔 방법이 없다</i>"는 글의 문장에 공감하며, 내가 소유한 기기에서 루트 권한이 중요한 또 다른 이유라고 주장
    • 네트워크 트래픽을 임의로 우회할 수 있다는 점이 사용자 영역에 superuser 권한을 부여해선 안 되는 가장 큰 이유라 생각, OEM에 부트로더 언락 허용 압박하는 건 찬성하지만, Android에서 루트 권한이 공격자에게 허용하는 큰 위협 범위에 비해 정당화될 만한 용도를 딱히 못 떠올리겠다는 입장
  • "안된다"고 하는 의미를 묻는 질문, 맥북용 USB 허브 동글을 Android 폰에 꽂으면 Ethernet 포트가 문제 없이 동작했고, 셀룰러 모뎀이 Ethernet 장치로 인식되어 Android에서 잘 작동한 경험 공유
    • 이런 문제는 이미 수정됐으며, 원본 기사는 2년 전 글이라는 안내
  • Android는 매우 불편하게도 여러 네트워크 동시 연결이 되지 않는다는 불만, 예를 들어 인터넷이 없는 WiFi(기본 라우터도 없음)와 셀룰러 네트워크를 동시에 연결하고 싶어도 불가, 리눅스나 윈도우에선 당연히 가능한데 Android는 이를 억지로 막고 있고, 심지어 많은 변형 버전에서는 인터넷 없는 WiFi에 집착할 경우 혼란스러운 방식으로 끊기게 된다거나 추가적으로 앱에서만 좀 돌아가는 API가 제공될 뿐 사용자 자체는 이런 제어를 할 수 없게 막혀 있다는 지적
    • iOS도 비슷하며, 블랙박스에서 영상을 받으려고 WiFi에 접속하면 "인터넷 없음, 셀룰러로 전환?" 팝업이 뜨고, 계속 WiFi에 머물겠다고 해도 결국 iOS가 알아서 CarPlay 네트워크로 강제 전환해버린다는 경험 공유, 수동 해제 방법조차 제공되지 않는 점 덧붙임
    • 윈도우도 실제로 두 개의 무선 어댑터로 두 개의 wifi 네트워크에 동시에 접속은 불가, 적어도 GUI에서는 안되고 터미널로는 시도해보지 않았다는 언급
    • 이 제한이 정말 짜증난다는 의견, 인터넷이 장애날 때 폰으로 진단하려는 순간 WiFi에 머물지 않아 어려움을 겪는 상황 공유, Android의 DNS 설정 또한 DHCP로 받아오지 않는 등 복잡한 문제도 있다는 불만
    • 서양 Android폰을 가지고 중국 본토에 들어가면 더욱 불편했던 경험 토로, Android가 인터넷 연결을 Google 서비스로 확인해 로컬 WiFi는 매번 인터넷 없음 경고를 띄움, 그럴 때마다 사용자가 수동으로 계속 연결 유지할 지 답해야 하는 번거로움 설명
  • 펌웨어 요구 사항도 꼭 확인해야 한다는 조언, 어떤 장치는 정상 인식돼도 펌웨어가 마련되어 있지 않으면 ifup에서 실패하고, Android UI는 이 상황을 전혀 보여주지 못하며 dmesg 로그만 확인해야 문제가 보임, CDC 장치에도 해당되는지는 확실치 않지만 많은 USB 이더넷 동글이 Realtek, Kawasaki 칩셋 위주였고 펌웨어 요구 케이스가 있었다는 경험담, 해당 Android 변화는 최근 일인 것 같지만 바닐라 AOSP 디버깅 기기에서는 USB 네트워크 동글을 잘 사용했으니 커널 혹은 CDC 드라이버 쪽의 네이밍 관행이 아닐까 추측, 결국 동글의 칩셋과 펌웨어 필요 여부는 신경 써야 한다는 조언
  • 15개 넘는 USB 이더넷 어댑터를 소유중이고 Realtek, AXIS 등 서로 다른 칩셋인데도 모두 아주 잘 동작했다는 경험, 리눅스에서 드라이버가 안 필요한 모델만 확보하면 사실상 모든 OS와 BIOS에서 문제 없이 쓸 수 있다는 확신
    • 2023년에 이슈가 수정됐다는 정보와 관련 Hacker News 링크 제시
    • 썬더볼트/USB 독에 달린 이더넷 어댑터가 pixel 5, pixel 9 두 폰 모두에서 잘 작동했다는 추가 경험
  • 완벽한 디버깅 저니로, 정규식 하나로 인해 전체 기기군이 작동 불능이 된 사례가 흥미로웠다는 감탄, 얼마 전 GPT-4와 OpenAI의 alignment/escalation 시스템에서 비슷한 구조적 한계에 부딪혔던 경험 회고, 공식 문서와 로그까지 갖춰서 내부 로직을 트리거하려 했지만 결국 사람이 볼 땐 합리적으로 보이지만 내부 인터페이스의 정규식에 매치되지 못해 막혀버린 것 같았다는 설명, 관련 기록을 별도 링크로 공유, 시스템 구조나 보이지 않는 인터페이스 경계에 관심 있다면 의견을 듣고 싶다는 제안