Update: Aug 20, 2021

 

휴대폰 충전도 되고 무선 테더링보다 USB케이블 연결로 더 안정적이고 빠른 테더링을 즐겨사용하고 있습니다. wifi 연결이 제한된 사무실에서도 일하고 있어 USB 테더링을 미리 설정해두지 않으면 휴대폰이 안터지는 답답함처럼 느껴지기도 하네요.

 

맥북 OS를 포멧 후 Big Sur(Version 11.x) 로 클린 설치한 다음부터 사용중인 안드로이폰과 USB로 연결이 안되어 한참 뒤져보고 시도한 끝에 현재 잘 사용하고 있어 블로그에 남겨봅니다. 

원글은 이전부터 잘 사용해왔던 HoRNDIS git issue에서 보고 따라한 것으로 제가 실행한 것들을 보충 해서 작성하였습니다. 실행에 앞서 대략적인 절차를 알기위해 내용을 끝까지 먼저 보신 후 다시 돌아와 순서대로 하시길 권해드립니다.

진행 환경

. MacBook 16 inch, 2019 (Intel CPU)

. Samsung Galaxy Note 9

. USB C to C cable

. Horndis 9.2 Catalina Install pkg

HoRNDIS-9.2-catalina_install.pkg.zip
0.03MB

진행 절차

1. Horndis 9.2 Catalina Install pkg 파일을 먼저 설치해줍니다.
(참고 - 설치 마지막 단계에서 실패가 납니다)

 

2. HoRNDIS.kext 파일에서 개발자 ID를 찾아 폰으로 찍거나 기록해둡니다.

user1@MacBook ~ % sudo su
Password:
# spctl -a -vv -t install /Library/Extensions/HoRNDIS.kext
/Library/Extensions/HoRNDIS.kext: accepted
source=Notarized Developer ID
origin=Developer ID Application: Joshua Wise (54GTJ2AU36)

 

3. 맥북을 끄고 복구모드 진입 (⌘CMD + R 누른 상태로 전원켜기)

 

4. 복구 모드에서 Terminal 열고 아래 실행

*만약 2번 절차의 값이 54GTJ2AU36 가 아니라면 2번에서 확인된 개발자 ID로 하시면 됩니다.

# csrutil disable
System Integrity Protection is off.
(...)

# /usr/sbin/spctl kext-consent list
spctl: no kext consent configuration found.

# /usr/sbin/spctl kext-consent add 54GTJ2AU36
# /usr/sbin/spctl kext-consent list
Allowed Team Identifiers:
54GTJ2AU36

 

5. 터미널 종료 후 (평소 켜고 끄는)일반모드로 재부팅

 

6. 이전 과정에 설치된 권한 및 파일 삭제

user1@MacBook ~ % sudo su
Password:
sh-3.2#
sh-3.2# sqlite3 /var/db/SystemPolicyConfiguration/KextPolicy
SQLite version 3.32.3 2020-06-18 14:16:19
Enter ".help" for usage hints.
sqlite> delete from kext_load_history_v3 where team_id='54GTJ2AU36';
sqlite> delete from kext_policy where team_id='54GTJ2AU36';
sqlite> .quit
sh-3.2#

 그리고, Finder 에서 library/extensions 폴더의 horndis.kext 찾아서 수동 삭제

 

7. Horndis 9.2 Catalina Install pkg 파일 재설치

 

8. System Preferences - Security & Privacy 를 열고서 {General} 탭 하단에 나타난 [Allow] 버튼을 클릭하여 허용

 

9. 설치가 완료됐으면 다시 복구모드로 부팅하여 SIP 켜줍니다

# csrutil enable
System Integrity Protection is on.
(...)

 

10. 일반모드로 리부팅
      맥북과 안드로이드 폰을 USB로 연결 후, 폰의 USB 테더링을 켜면 연결됩니다. 

*참고 1
M1 CPU탑재 Mac에서도 아래 성공하신 글로 안드로이드 USB테더링 가능합니다.

https://itap.tistory.com/2

github.com/jwise/HoRNDIS/issues/135

M1 Air가 생겨 위의 티스토리 블로그 글을 참고해서 해보니 M1에서도 잘 동작하네요.
같은 내용이지만 제가 진행했던 내용 짧게 요약했습니다.

*https://itap.tistory.com/2 에 공유해주신 글쓴이님,
덕분에 M1 맥북에서도 성공했어요.
감사합니다.

1. 다운받기
HoRNDIS.kext.zip


2. 맥북 복구 모드로 진입. 상단 유틸리티-터미널 열고 아래 명령어 입력
*M1 복구모드는 종료 후 전원버튼을 길게 누르고 있으면 됨
csrutil disable
(패스워드 입력)

csrutil enable --without kext
(패스워드 입력)


3. 재부팅 후 /Library/Extensions 에
HoRNDIS.kext.zip 압축 풀고 나오는 HoRNDIS.kext 파일을 붙여넣기


4. 퍼미션 복구를 위해 터미널 열고(command + 스페이스, terminal.app) 아래 명령어 입력

sudo chown -R root:wheel /Library/Extensions/horndis.kext
(이후 패스워드 요청시 입력, 중간에 설치팝업 뜨더라도 무시하세요)

sudo chmod -R 755 /Library/Extensions/horndis.kext       

sudo kextload -t /Library/Extensions/horndis.kext


5. 시스템 환경설정-보안 및 개인정보 보호 들어가서 좌측하단 자물쇠 해제 후, 
다음에서 다운로드한 앱 허용 칸에 있는 설치(허용) 버튼 클릭 후 설치후 재부팅


6. 만약 5번 단계에서 복구모드에서 보안설정 변경... 어쩌고 하는 메시지가 뜨면 (메시지 내용 사진 찍어두고)
종료 후 전원 버튼을 이용 한 복구모드 진입 후 변경해라는 메시지 내용대로 해주고 리부팅한다


7. 5번 과정을 다시 한번 확인한다.
완료되었다면 안드로이드 폰 연결 후 USB테더링을 켜면
맥북 네트워크 설정 항목에 안드로이드 장치가 자동으로 보인다

 

*참고 2

구글링으로 알게된 HoRNDIS 대신 plugable.com로 소개된 글은 저에겐 정상 동작하지 않았습니다.

clien-achive.blogspot.com/2020/08/big-sur-usb.html

 

 

Ref: github.com/jwise/HoRNDIS/issues/132#issuecomment-745607263

 

 

출처: HoRNDIS git 과 개인 경험

 

Posted by logbook
,