롬라이팅 질문 좀 드려도 될까요?

클루   
   조회 1132   추천 0    

안녕하세요. 좀 난감한 상황이 있어서 질문 올립니다. 도움 의견 주시면 고맙겠습니다. 

개요

- 엡슨 EB-1980WU 빔프로젝터 펌웨어 업데이트 중 전기 나간 후 벽돌상태

- 서비스센터 방문 결과 롬칩 깨졌고 메인보드 단종으로 수리불가

- CH341a 롬라이터 알리익스프레스로 구매 상태


연식은 꽤 됐지만 빔프로젝터 사용시간 극히 적고 전반적 상태가 매우 좋아 어떻게든 살려보고 싶습니다. 

케이스 분해하고 메인보드의 롬칩을 살펴보니 마이크론 25Q03213 32Mbit (4MB) 칩이 장착된 것으로 보입니다.

근데 엡슨 홈페이지에서 다운로드한 같은 모델명의 롬바이오스 bin 파일은 32MB로 무려 8배나 큽니다. 


궁금한 점

- 제가 알기론 일반적인 롬라이팅에서는 롬칩의 용량이 bin파일과 같거나 큰 경우에만 기록이 되는 걸로 아는데 반대의 경우도 있는지요?

- 출시 당시 2014년 경의 일반적인 사양으로 보아 실용량 4MB 롬칩 채용이 맞을 듯한데

  비슷한 여러 모델의 롬을 하나의 bin파일에 통합시켜 놓고 필요한 기종에 해당하는 일부분만 잘라서 기록하는 방식도 있는지요?

 

짧은글 일수록 신중하게.
gmltj 2024-12
작은 롬에 큰 데이터가 들어갈수는 없는데... 앱슨에서 펌웨어 파일을 다운받아서 보니...32메가네요.... 더미 데이터가 있던가 아니면 기종별로 부분적으로 일부만 쓸 가능성이 있는데.. 비교할 원본 데이터가 없으니 아마도 동일 기종에서 읽어서 쓰기를 하셔야 될 것 같네요..
     
클루 2024-12
네 답변 감사합니다.
제 생각도 같은 베이스모델에 세부사양만 다른 모델이 몇가지가 더 있는 것으로 생각되네요.
아무래도 동종 기판에서 바이너리를 추출하는 방법 밖에 없겠네요.
롬만 씌우면 될 것 같기도 한데 같은 기종을 가진 분을 찾기가 넘 어려울 듯합니다.
죠슈아 2024-12
엡슨 EB-1980WU 빔프로젝터 펌웨어 업데이트 URL 을 공유 해보세요,
다운로드한 파일이 EPSONPJ_Gh22576GV4D_WU.bin  :: 30.5MB (31,987,728 바이트)  인가요?
이것은 USB으로 업데이트용 파일 입니다. 롬 파일이 아니구요.

아래 방법으로 롬 파일을 추출 시도해 보세요.
CH341a 롬라이터를 구입 하실때 25Q03213 플래쉬 디바이스를 같이 구입 하셨으면 좋았을 것 같군요,
플래쉬가 지워졌다면 다시 프로그램 하면 되지만 디바이스가 손상 되었다면 .. ...
전기적으로 손상되지 않았어도 ..  CH341a 롬라이터 사용법에 익숙 하지 않다면 프로그래밍 실패시 디바이스 손상을 의심 하지 않고 반복하실 수 있지만
보드에 장착된 디바이스로 반복하는 것이 수월하지 않으뿐더러 ..  전원 인가를 해야만 한다면 디바이스 쓰기 실행에 방해 될 수 있기 때문 입니다.
새 디바이스에 쓰기를 해서 verify PASS 이면 동일한 방법으로 보드의 플래쉬에 쓰기 시도 하여 성공 하면 끝이지만 실패하면
플래쉬 디바이스를 리플레이스 해야만 하기 때문이죠...







그렇지만 ....
정전후 문제가 발생 하였으므로 전원 공급에 문제가 발생 했을지도 모르므로
확실하게 전원단의 이슈가 아니라는 확신을 갖는 것이 필요하므로
플래쉬 디바이스의 전원핀 전압이 스펙대로 전압이 3.3v가 인가 되고 있는지 멀티미터로 전압을 츶정해 보시는 것을 권장 드립니다.
전원의 문제는 파워서플라이 보드가 손상 되었을 수도 있고 로직 보드의 레귤레이터 손상도 의심 되므로
단지 플래쉬의 데이터 손상인지 확인하는 것이 필요해 보입니다.
     
클루 01-03
정성스럽고 긴 댓글 감사합니다.
다운로드한 파일이 말씀대로 EPSONPJ_Gh22576GV4D_WU.bin 이 맞습니다.
알려주신 게 리눅스 계통 유틸리티인지요? 4MB 롬 파일만 있으면 라이팅을 어떻게 해 볼 건데
binwalk 검색해보니 제 능력으로는 많이 생소하고 어렵네요. 혹시 파일 추출 부탁드려도 괜찮을까요?
롬칩 손상 여부는 아직 몰라서 라이팅 실패하면 고장난 것으로 보고 롬칩만 따로 구해 라이팅하고 납땜해 볼까 합니다.
감사합니다.
죠슈아 01-04
위글에서 리눅스용 binwalk  와 윈도우용 HexWalk 에대한 언급이 있어요.
하지만 HexWalk 의 GUI는 binwalk.py python code를 윈도우용으로 컴파일해서  링크를 사용하는 것이므로 HexWalk 는 좋은 방법은 아니군요,

binwalk-3.1.0.zip 파일을 리눅스에서 실행 파일로 만들기 위해서는
위에서 설명한 방법으로 github에서 패키지를 다운로드 하거나
아래 링크에서 binwalk-3.1.0.zip를 다운로드 하세요.
https://github.com/ReFirmLabs/binwalk/releases/tag/v3.1.0

그리고 python3 를 설치 이후에
binwalk 를 빌드하세요.
윈도우에서도 python3 을 설치하고 다운로드한 binwalk-3.1.0.zip을 압축해제 하고 binwalk 빌드 하실수 있습니다.

여기까지는  크게 문제되지 않을 거구요.

그리고 binwalk 를 사용해서 firmware file에서 ROM 파일을 추출 하시면 됩니다.
이 과정은 반복 될 수 있습니다.
따라서  new flash 디바이스에 프로그램을 하는 것을 시도 하세요.
보드에 붙어 있는  flash 디바이스를 읽기 시도해 보세요.

제일 먼저 시도해야 하는 것은 CH341a  으로  flash 디바이스를 읽기 시도 하시고
크기가 4MB 인 롬 파일 (추출된 롬 파일이 아니더도 상관 없어요) flash 디바이스에 쓰기 및 Verify PASS 연습을 하세요.

이후에 binwalk 을 빌드하고 ( 우분투에서 python3 를 설치 이후에 .. )
binwalk 으로 firmware file에서 추출한 롬 파일과 보드에 있는 flash 읽기로 저장된 파일과 비교...

보드에 있는 flash 읽기 실패 되면 .. ( flash device가 손상 된것이 확실하지 않으므로 보드에서  떼기전에 하고 떼어서도 해서  )
 flash device가 손상이 확실해야만 다른 모든 작업이 의미가 있어요.

만일 보드에서 flash device 를 떼어내지 않고 읽은 파일이 binwalk 으로 firmware file에서 추출한 롬 파일과 동일하다면
flash 디바이스 프로그램 해도 소용이 없는 거예요...

binwalk 으로 firmware file에서 추출한 롬 파일과 보드에서 flash device 를 떼어내지 않고 읽은 파일이 다를 수도 있어요,,,
ROM 버전이 다르면 ...

바이러니 파일을 스트링으로 ASCII 포맷으로 확인할때 EPSON 스트링 또는 모델 번호를 확인 할수 있으면
flash 읽기가 성공한 것이므로 보드에서 flash device 를 떼어내지 않고 읽어낼 수 있므르로
flash 손상이 아닌 보드의 소산 .. 파워 공급단 손상을 우선  고려 해야 합니다.


QnA
제목Page 1/3
03-31   178   울과기펩시충
03-31   102   박문형
03-19   503   울과기펩시충
2024-12   1133   클루
2024-12   1385   네트맞고에찌
2024-11   1491   울과기펩시충
2024-10   1299   hdsniper
2024-09   1602   일론머스크
2024-08   2504   길씨가문
2024-07   2089   막판대장
2024-07   2042   케케로피
2024-06   2116   오성기
2024-06   2807   화란
2024-04   2120   김수아무
2024-03   2908   래넌
2024-03   2268   현진
2024-03   2632   춍춍춍
2024-03   2319   다롱이
2024-02   2622   꾸띠웍
2024-02   2102   찬이