기타
AI활용 직구티비 로컬 변경
조회 7,397 · 공감 20 · 댓글 24
예전에 직구한 2018년식 LG SK8070PUA 로컬변경을 했습니다.
미국 직구 티비라, 국내용 어플들(쿠팡플레이, 티빙 등)이 설치가 안되어서 좀 아쉬웠던 와중에
이전에 알아볼 때는 뒷판 뜯고 롬라이팅 해야한다고 해서 포기하고 있었는데, 최근에 보니 클로드 코드 같은걸로 티비 제어도 하길래 한번 시작해봤습니다.
일단 TV와 컴퓨터를 같은 네트워크에 물리고
(전 TV와 컴퓨터 모두 같은 와이파이 공유기에 연결했습니다.)
먼저 클로드 코드로 시도해봤습니다.
"192.168.000.000 여기에 LG TV SK8070PUA가 설치되어 있는데 지역코드를 대한민국으로 업데이트 해줘"

근데 클로드 코드는 제약이 많은지 잘 진행을 안해주더라구요..
그래서 제약이 좀 덜한 grok을 써봐야겠다 싶어서, 젠스파크 코드로 시도했습니다.
"192.168.000.000 여기에 LG TV SK8070PUA가 설치되어 있는데 지역코드를 대한민국으로 업데이트 해줘"

이렇게 시키길래 developer mode 설치하고, LG의 아이디와 비밀번호로 로그인 한 후, dev mode status를 켜고(TV가 재부팅 됩니다) key server도 켠뒤 다시 해달라고 했습니다.
TV에 나온 passphrase를 그대로 입력했습니다.
그랬더니 자기 혼자 이것저것 하더니..

재부팅 하니까 위치가 미국에서 기타로 바뀌어있네요
안된줄 알았는데, 컨텐츠 스토어 들어가보니 티빙, 쿠팡플레이 등 한국 어플들이 있어서 설치했습니다.
댓글 24
취약점을 이용해서 권한상승 - nvram 정보를 강제로 업데이트 하는 방식이군요
이 과정을 grok이 ‘딸깍’ 해주는거구요? webos가 최신버전이라면 안 될수도 있겠네요
그록에서 질문하고 명령어를 복사해서 파워쉘에서 실행했구요.
지역코드를 변경하고 TV를 껏다켜도 변경이 안되서 물어보니 NVRAM에 Area Option이 잠겨있다고 하더군요.
그래서 다른 레이어에 직접 쓰는 경로로 변경해서 안내해주는대로 따라했더니 쿠팡 플레이와 티빙 앱이 떳습니다. ㅎㅎ
지역설정 변경 목적이 앱 설치가 아니라 구글홈에 등록하는거라 이건 자고나서 해볼까합니다.
덕분에 TV를 뜯지않고 지역설정을 변경했네요.
감사합니다~!
진짜 좋은 정보 감사합니다.
감사합니다! 덕분에 쿠팡플레이를 간단하게 시청할 수 있게 되었어요!
+@
직구 TV에서는 이용 불가능했던 매직리모컨도 설정 가능합니다.
헐. 엄청나네요 ㅎㅎㅎ
내 LG 해외 직구 TV에서 대한민국 LG 앱스토어와 국내 셋톱박스용 매직리모컨을 사용할 수 있도록 실제 설정 작업을 진행해 줘.
대상 정보:
- TV IP: [예: 192.168.0.31]
- TV 모델: [예: 75SK8070PUA]
- 펌웨어: [알면 입력, 모르면 연결 후 조회]
- 셋톱박스: [예: 삼성 GX-KT600EJ/KT, KT 지니 TV]
- 셋톱박스 연결 단자: [예: HDMI 1]
- Developer Mode 앱 설치 및 로그인: 완료
- Dev Mode Status: ON
- Key Server: ON
- Passphrase: [현재 TV 화면의 값]
목표는 다음 두 가지야.
1. 대한민국 LG 서비스 국가를 적용해 한국 앱을 검색하고 이용할 수 있게 하기.
2. 통합리모컨 설정에서 국내 통신사를 선택하고, 매직리모컨으로 셋톱박스를 조작할 수 있게 하기.
일시적으로 작동하는 것에 그치지 말고, 재시작과 전원 플러그 분리 후에도 설정이 유지되는지 검증해 줘.
아래는 같은 모델인 75SK8070PUA, 펌웨어 05.50.70에서 실제 성공한 작업 기록이야. 내 TV에서 모델·펌웨어·API 지원 여부를 먼저 확인하고 적용해 줘. 다른 모델이면 값을 무작정 기록하지 말고 호환성을 확인해 줘.
1. 연결 및 백업
Developer Mode의 SSH 연결을 사용해 실제 모델과 펌웨어를 조회해 줘. 이 모델에서는 사용자 prisoner, SSH 포트 9922를 사용했어.
변경 전 다음 내용을 백업해 줘.
- option 설정 전체 및 localeInfo
- country, countryGroup, localeCountryGroup
- smartServiceCountryCode2, smartServiceCountryCode3
- tv.model.languageCountrySel, tv.model.hwSettingGroup
- tv.rmm.codeName, tv.rmm.grpCodeName
- 기존 통합리모컨 등록 정보
사용자에게 물어야 하는 TV 화면 조작이나 실제 리모컨 동작 확인 외에는, 백업과 일반 설정 변경 및 검증을 이어서 진행해 줘.
2. TV 내부 API 호출 방법
이 모델에서는 TV 내부 Node.js의 palmbus를 사용했어.
NODE_PATH=/usr/lib/nodejs:/usr/lib/node_modules
비공개 서비스 버스의 호출 구조는 다음과 같았어.
var pb = require("palmbus");
var h = new pb.Handle("", false);
h.call(uri, JSON.stringify(payload))
.on("response", function (message) {
console.log(message.payload());
});
설정 서비스는 실제로 작동했던 com.lge.settingsservice를 우선 확인해 줘.
KT 리모컨 서비스와 재시작 기능은 비공개 서비스 버스(false)에서 조회·호출해야 했어. 공개 버스에서 서비스나 메서드가 없다고 나오는 것만으로 기능이 없다고 결론 내리지 말아 줘.
3. 모델의 소프트웨어 지역 구성 적용
호출:
luna://com.webos.service.config/setConfigs
요청:
{
"configs": {
"tv.model.languageCountrySel": "KR",
"tv.model.hwSettingGroup": "KR"
}
}
4. 재시작 후 유지에 필요했던 지역 기준값 저장
호출:
luna://com.webos.service.config/setConfigs
요청:
{
"configs": {
"tv.rmm.codeName": "KOR",
"tv.rmm.grpCodeName": "KR"
},
"volatile": false
}
이 단계가 중요해. 이전에는 일반 국가 설정만 바꾸면 대한민국 표시와 KT 리모컨이 일시적으로 작동했지만, 전원을 다시 켜면 countryGroup이 US로 돌아가고 KT 등록이 사라졌어. 위 지역 기준값까지 변경한 뒤에는 유지됐어.
5. 일반 국가와 국가 그룹 적용
호출:
luna://com.lge.settingsservice/setSystemSettings
요청:
{
"category": "option",
"settings": {
"countryGroup": "KR",
"country": "KOR",
"localeCountryGroup": "langSelKR"
}
}
6. LG 서비스 국가 별도 적용
국가 변경 처리가 끝난 것을 확인한 뒤 다음 요청을 별도로 적용해 줘.
호출:
luna://com.lge.settingsservice/setSystemSettings
요청:
{
"category": "option",
"settings": {
"smartServiceCountryCode2": "KR",
"smartServiceCountryCode3": "KOR"
}
}
국가와 서비스 국가를 한꺼번에 기록했을 때 서비스 코드가 KR7으로 다시 계산된 적이 있었어. 국가 변경 처리 후 서비스 국가를 별도로 적용하고, 다시 조회해서 KR/KOR인지 확인해 줘.
7. 국내 통신사 및 매직리모컨 설정
비공개 서비스 버스에서 다음 API를 확인해 줘.
- com.webos.service.irdbmanager/getServiceList
- com.webos.service.irdbmanager/getDevices
- 필요하면 com.webos.service.irdbmanager/isSupported
같은 TV에서는 Olleh TV를 포함한 국내 통신사 목록을 불러올 수 있었어. 국가 그룹을 한국으로 바꾼 뒤 TV의 통합리모컨 설정에서 KT/Genie TV를 등록하고 실제 채널 변경이 작동했어.
통신사·제조사 목록이 없다고 바로 단정하지 말고, 실제 서비스 목록과 TV 화면을 확인해 줘.
셋톱박스 등록은 실제 연결 단자와 TV가 제공하는 목록을 기준으로 진행해 줘. 다른 TV에서 얻은 serviceId, IrType, 상품 코드나 IR 데이터를 무작정 복사하지 말아 줘.
정상 동작한 등록 정보는 getDevices로 백업해 줘. 이후 같은 등록을 복원해야 한다면 그 TV에서 읽은 정확한 정보를 addDevice에 사용해 줘.
8. 재시작 및 전원 재연결 검증
이 모델의 원격 재시작은 비공개 서비스 버스에서 다음 요청으로 실행했어.
호출:
luna://com.webos.service.tvpower/power/reboot
요청:
{
"reason": "remoteKey"
}
재시작 중 SSH 연결이 끊길 수 있으니, 재연결 후 실제 기동 시간이 초기화됐는지도 확인해 줘.
재시작 후 다음 값과 등록이 유지되는지 조회해 줘.
- countryGroup: KR
- country: KOR
- smartServiceCountryCode2: KR
- smartServiceCountryCode3: KOR
- tv.rmm.codeName: KOR
- tv.rmm.grpCodeName: KR
- system.country: KOR
- system.smartServiceCountry: KOR
- system.enableSmartService: true
- 해당 HDMI의 셋톱박스 등록 유지
마지막으로 사용자에게 TV를 끄고 플러그를 약 20초 분리했다가 다시 켜도록 안내하고, 재연결 후 동일한 상태인지 확인해 줘. 대한민국 표시, 한국 앱 검색, 매직리모컨 채널 변경도 확인해야 해.
참고로 성공한 TV에서도 localeCountryGroup은 재시작 후 langSelUS로 조회됐어. 그 상태에서도 대한민국 표시와 한국 앱, KT 매직리모컨이 정상 작동했으니, 이 값 하나만으로 실패라고 판단하거나 계속 덮어쓰지 말아 줘.
9. 작업 범위와 결과 기록
이번 작업은 설정 API를 통한 변경으로 진행해 줘. 펌웨어 교체, 루팅, EEPROM 직접 기록, 패널·튜너 보정값 변경, 공장 초기화가 필요해지면 자동으로 진행하지 말고 이유와 영향을 먼저 설명해 줘.
완료 보고에는 다음을 포함해 줘.
- 변경 전후 주요 설정값
- 실제 적용한 API와 요청 내용
- 재시작 및 전원 재연결 후 유지 여부
- 한국 앱 검색과 매직리모컨 실제 동작 확인 결과
- 남은 제한 사항
인증 키와 Passphrase는 공유용 작업 기록에서 제외해 줘. 설정값 저장 성공만으로 완료라고 하지 말고, 실제 동작과 전원 재연결 후 유지까지 확인한 범위를 정확하게 보고해 줘.
전에 일부만 kor로 바뀌고 아직 US 였던 항목들이 많아서 안뜬거 같네요
위에 자세히 설명해주신 분도 계신데 저도 주말간 해당 작업을 해보려고 합니다.
선배님들 미리 감사합니다.
두시간쯤 걸린듯 한데... 감사합니다.
다르겠죠?