요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
.. SPDX-License-Identifier: GPL-2.0
Firmware files for lmedm04 cards
================================
To extract firmware for the DM04/QQBOX you need to copy the
following file(s) to this directory.
For DM04+/QQBOX LME2510C (Sharp 7395 Tuner)
-------------------------------------------
The Sharp 7395 driver can be found in windows/system32/drivers
US2A0D.sys (dated 17 Mar 2009)
and run:
.. code-block:: none
scripts/get_dvb_firmware lme2510c_s7395
will produce dvb-usb-lme2510c-s7395.fw
An alternative but older firmware can be found on the driver
disk DVB-S_EN_3.5A in BDADriver/driver
LMEBDA_DVBS7395C.sys (dated 18 Jan 2008)
and run:
.. code-block:: none
./get_dvb_firmware lme2510c_s7395_old
will produce dvb-usb-lme2510c-s7395.fw
The LG firmware can be found on the driver
disk DM04+_5.1A[LG] in BDADriver/driver
For DM04 LME2510 (LG Tuner)
---------------------------
LMEBDA_DVBS.sys (dated 13 Nov 2007)
and run:
.. code-block:: none
./get_dvb_firmware lme2510_lg
will produce dvb-usb-lme2510-lg.fw
Other LG firmware can be extracted manually from US280D.sys
only found in windows/system32/drivers
dd if=US280D.sys ibs=1 skip=42360 count=3924 of=dvb-usb-lme2510-lg.fw
For DM04 LME2510C (LG Tuner)
----------------------------
.. code-block:: none
dd if=US280D.sys ibs=1 skip=35200 count=3850 of=dvb-usb-lme2510c-lg.fw
The Sharp 0194 tuner driver can be found in windows/system32/drivers
US290D.sys (dated 09 Apr 2009)
For LME2510
-----------
.. code-block:: none
dd if=US290D.sys ibs=1 skip=36856 count=3976 of=dvb-usb-lme2510-s0194.fw
For LME2510C
------------
.. code-block:: none
dd if=US290D.sys ibs=1 skip=33152 count=3697 of=dvb-usb-lme2510c-s0194.fw
The m88rs2000 tuner driver can be found in windows/system32/drivers
US2B0D.sys (dated 29 Jun 2010)
.. code-block:: none
dd if=US2B0D.sys ibs=1 skip=34432 count=3871 of=dvb-usb-lme2510c-rs2000.fw
We need to modify id of rs2000 firmware or it will warm boot id 3344:1120.
.. code-block:: none
echo -ne \\xF0\\x22 | dd conv=notrunc bs=1 count=2 seek=266 of=dvb-usb-lme2510c-rs2000.fw
Copy the firmware file(s) to /lib/firmware
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
lmedm04 card용 firmware 파일
1-8이 문서는 GPL-2.0 라이선스를 따르며, DM04/QQBOX 장치용 firmware를 추출하기 위해 필요한 Windows driver 파일과 명령을 설명합니다.
아래에서 지정하는 파일을 현재 작업 directory, 즉 firmware 추출 명령을 실행할 directory에 복사해야 합니다.
| 장치 | Tuner | 원본 driver | 생성 firmware |
|---|---|---|---|
| DM04+/QQBOX LME2510C | Sharp 7395 | US2A0D.sys / LMEBDA_DVBS7395C.sys | dvb-usb-lme2510c-s7395.fw |
| DM04 LME2510 | LG | LMEBDA_DVBS.sys / US280D.sys | dvb-usb-lme2510-lg.fw |
| DM04 LME2510C | LG | US280D.sys | dvb-usb-lme2510c-lg.fw |
| LME2510 | Sharp 0194 | US290D.sys | dvb-usb-lme2510-s0194.fw |
| LME2510C | Sharp 0194 | US290D.sys | dvb-usb-lme2510c-s0194.fw |
| LME2510C | m88rs2000 | US2B0D.sys | dvb-usb-lme2510c-rs2000.fw |
DM04+/QQBOX LME2510C: Sharp 7395
9-23Sharp 7395 driver는 `windows/system32/drivers`의 `US2A0D.sys`에서 찾을 수 있습니다. 파일 날짜는 2009년 3월 17일입니다.
다음 명령을 실행합니다.
scripts/get_dvb_firmware lme2510c_s7395
명령은 `dvb-usb-lme2510c-s7395.fw`를 생성합니다.
Sharp 7395의 이전 firmware
24-40대체할 수 있지만 더 오래된 firmware는 `DVB-S_EN_3.5A` driver disk의 `BDADriver/driver`에 있는 `LMEBDA_DVBS7395C.sys`에서 얻을 수 있습니다. 파일 날짜는 2008년 1월 18일입니다.
./get_dvb_firmware lme2510c_s7395_old
이 명령도 `dvb-usb-lme2510c-s7395.fw`를 생성합니다.
LG firmware는 `DM04+_5.1A[LG]` driver disk의 `BDADriver/driver`에서 찾을 수 있습니다.
DM04 LME2510: LG tuner
41-602007년 11월 13일자 `LMEBDA_DVBS.sys`를 사용해 다음 명령을 실행합니다.
./get_dvb_firmware lme2510_lg
명령은 `dvb-usb-lme2510-lg.fw`를 생성합니다.
다른 LG firmware는 `windows/system32/drivers`에만 있는 `US280D.sys`에서 수동으로 추출할 수 있습니다.
dd if=US280D.sys ibs=1 skip=42360 count=3924 of=dvb-usb-lme2510-lg.fw
DM04 LME2510C: LG tuner
61-68LME2510C용 LG firmware는 같은 `US280D.sys`에서 offset 35200부터 3850 byte를 추출합니다.
dd if=US280D.sys ibs=1 skip=35200 count=3850 of=dvb-usb-lme2510c-lg.fw
LME2510: Sharp 0194
69-80Sharp 0194 tuner driver는 `windows/system32/drivers`의 2009년 4월 9일자 `US290D.sys`에서 찾을 수 있습니다.
LME2510용 firmware는 offset 36856부터 3976 byte를 추출합니다.
dd if=US290D.sys ibs=1 skip=36856 count=3976 of=dvb-usb-lme2510-s0194.fw
LME2510C: Sharp 0194
81-89LME2510C용 Sharp 0194 firmware는 `US290D.sys`의 offset 33152부터 3697 byte를 추출합니다.
dd if=US290D.sys ibs=1 skip=33152 count=3697 of=dvb-usb-lme2510c-s0194.fw
LME2510C: m88rs2000
90-107m88rs2000 tuner driver는 `windows/system32/drivers`의 2010년 6월 29일자 `US2B0D.sys`에서 찾을 수 있습니다.
dd if=US2B0D.sys ibs=1 skip=34432 count=3871 of=dvb-usb-lme2510c-rs2000.fw
rs2000 firmware의 ID를 수정해야 합니다. 수정하지 않으면 장치가 warm boot ID `3344:1120`으로 올라옵니다.
echo -ne \\xF0\\x22 | dd conv=notrunc bs=1 count=2 seek=266 of=dvb-usb-lme2510c-rs2000.fw
완성된 firmware 파일을 `/lib/firmware`에 복사합니다.
Firmware 준비 흐름
lmedm04.rst:1-107정확한 Windows driver 파일을 준비한 뒤 `get_dvb_firmware` 또는 byte 단위 `dd`로 장치·tuner 조합에 맞는 firmware를 추출합니다. m88rs2000 firmware만 ID patch가 추가로 필요하며, 마지막에는 결과 파일을 `/lib/firmware`에 배치합니다.
장치 revision과 tuner에 맞는 source file과 offset을 선택해야 올바른 firmware가 생성됩니다.