Linux에서(로컬 또는 가상 머신을 통해) Cardo Packtalk Slim(또는 Freecom)의 펌웨어를 업데이트하는 방법은 무엇입니까?

Linux에서(로컬 또는 가상 머신을 통해) Cardo Packtalk Slim(또는 Freecom)의 펌웨어를 업데이트하는 방법은 무엇입니까?

Cardo Bluetooth 통신 시스템(Packtalk, freecom...)용 펌웨어 업데이트 소프트웨어는 Windows 및 Mac OS에서만 사용할 수 있습니다. 이러한 운영 체제가 기본적으로 실행되고 있지 않습니다. Debian 운영 체제를 통해 Cardo 장치의 펌웨어를 업데이트할 수 있습니까? Wine(버전 5.0.3)을 통한 Cardo Update.exe 파일 설치가 다음 오류로 인해 실패했습니다: "설치 오류." 재부팅하고 다시 시도하십시오.

002C: 오류: ole: cogetClassObject 클래스 {A2A9545D-A0C2-42B4-9708-A0B2B2BADD77C8} 등록되지 않음: 오류: ole: create_server 클래스 {a2a9545d-a0c2-42b4-9708-a0b2badd77c8} 등록되지 않음 002c: err:ole: CoGetClass 컨텍스트에 대한 객체 0x17 클래스 객체 생성 {a2a9545d-a0c2-42b4-9708-a0b2badd77c8}

답변1

Tonphai의 솔루션에 영감을 받아 Virtualbox로 솔루션을 찾아보았습니다.

연결된 USB 장치에 대한 정보를 얻으려면 다음 명령을 사용하십시오. Cardo 패키지가 열려 있는지 확인하세요. Virtualbox에 유효한 게스트 Windows 설치가 필요합니다.

lsusb

내 결과는 다음과 같습니다

Bus 002 Device 007: ID 2685:0900 Cardo Systems Inc. Cardo Device

Virtualbox Manager에서 이 Windows 가상 머신 설정으로 이동하여 USB를 선택합니다. USB 3.0 컨트롤러를 켜두었습니다. 새 USB 필터를 만들고 이름에 의미 있는 텍스트를 입력하세요. 저는 "Cardo(수동)"을 사용하고 있으며 공급업체 ID는2685, 제품 ID는 다음과 같습니다.0900. 일련번호를 다음으로 설정했습니다.0병렬 포트는4.

여기에 이미지 설명을 입력하세요.

처음에는 이것이 작동하지 않는 것 같았지만 Linux 시스템을 다시 시작한 후에는 괜찮은 것 같았습니다. USB 장치가 인식되도록 하려면 사용자가vbox 사용자그룹

sudo adduser $USER vboxusers

여기에 설명된 대로 최신 Virtualbox Guest Additions를 설치하십시오.https://www.virtualbox.org/manual/ch04.html

Windows용 Cardo 업데이트를 설치합니다.https://www.cardosystems.com/download-cardo-updater/

Windows 게스트 VM을 시작한 후 VB 메뉴로 이동하여 "장치 - USB"를 선택하고 나열되어야 하는 Cardo 장치를 선택합니다. 이렇게 하면 Cardo 설치 소프트웨어가 장치를 인식하고 펌웨어를 업데이트할 수 있습니다.

도움이 되길 바랍니다.

여기에 이미지 설명을 입력하세요.

답변2

Cardo 장치(2 Packtalk Slim)의 펌웨어를 원래 버전(4.2)에서 최신 버전(5.7)으로 업데이트할 수 있었습니다. 저는 Windows 10 Pro를 실행하는 가상 머신을 사용하여 Debian에서 이 작업을 수행했습니다. 펌웨어 업데이트 프로세스 중에 여러 XML 파일을 로드(첨부) 및 언로드(분리)해야 했기 때문에 기본적으로 업데이트되지 않았습니다. 생각해보면 공원 산책.

Debian에서의 가상화에는 KVM(QEMU, libvirt)이 최선의 선택인 것 같습니다. 설치하려면:

sudo apt-get install qemu-system libvirt-clients libvirt-daemon-system virt-manager

virt-manager에는 가상 머신을 쉽게 생성하고 실행할 수 있는 GUI가 있습니다. Windows 10 Pro .iso를 설치했습니다. 그런 다음 게스트 OS로 실행할 수 있습니다.

Cardo 업데이트 소프트웨어는 Cardosystems 웹사이트에서 제공되며 게스트 운영 체제(Win10)에 완벽하게 설치됩니다.

첫 번째 장애물은 게스트 운영 체제에서 USB 호스트 장치(Cardo 장치)를 인식하는 것입니다. 이렇게 하려면 연결하고 호스트 운영 체제(Debian)의 터미널 콘솔에서 lsusb 명령을 실행합니다.

lsusb

버스 001 장치 035: ID2685:0900Cardo Peripheral Systems LTD [팩토크 볼드 블루투스 오토바이 인터콤]

공급업체와 제품 ID를 기록해 두세요. 공급자 ID는 다음과 같습니다.2685제품ID는0900.

이제 가상 머신에 연결할 첫 번째(1/3) .xml 파일을 생성할 차례입니다. 이름을 "usb_device_cardo.xml"로 지정하고 호스트 운영 체제(Debian)의 홈 폴더에 배치했습니다. 여기에는 다음이 포함되어야 합니다.

<hostdev mode="subsystem" type="usb" managed="yes">
  <source>
    <vendor id="0x2685"/>
    <product id="0x0900"/>
  </source>
  <address type="usb" bus="0" port="4"/>
</hostdev>

Cardo 장치가 인식되는지 테스트해 보겠습니다. 게스트 OS(win10)가 실행되는 동안 호스트 OS(Debian)에서 터미널 콘솔을 열고 루트로 다음 명령을 실행합니다("win10"을 VM 이름으로 바꿈).

virsh attach-device win10 --file usb_device_cardo.xml --current

장치 연결 성공

Cardo 장치는 게스트 운영 체제(win10)에서 사용할 수 있습니다. 우리를 보자분리Cardo 업데이트 소프트웨어를 실행하기 전에:

virsh detach-device win10 --file usb_device_cardo.xml

장치 분리 성공

Cardo 업데이트 소프트웨어가 실행되면 이를 다시 연결하여 펌웨어 업데이트를 시작할 수 있습니다.

virsh attach-device win10 --file usb_device_cardo.xml --current

펌웨어 업데이트가 시작되지만 곧 중지되고 USB가 게스트 OS(win10)에서 꺼내진 것처럼 보입니다. 호스트 운영 체제(Debian)의 터미널에서 lsusb를 다시 실행하면 Cardo 장치에 새로운 제품 ID(제 경우에는 0900이 아닌 0901)가 있는 것을 볼 수 있습니다. 이제 두 번째 제품 ID(2/3)를 생성할 차례입니다. ). xml 파일이 가상 머신에 연결되어 있습니다. 이름을 "usb_device_cardo_2.xml"로 지정합니다. 업데이트된 제품 ID(0x0901) 및 포트 주소(5):

<hostdev mode="subsystem" type="usb" managed="yes">
  <source>
    <vendor id="0x2685"/>
    <product id="0x0901"/>
  </source>
  <address type="usb" bus="0" port="5"/>
</hostdev>

펌웨어 업데이트 시간이 초과되기 전에 연결해 보겠습니다. 호스트 운영 체제(Debian)의 터미널에서 실행:

virsh attach-device win10 --file usb_device_cardo_2.xml --current

장치 연결 성공

펌웨어 업데이트는 다시 중지되고 게스트 OS(win10)에서 장치를 "꺼낼" 때까지 계속됩니다.

호스트 운영 체제(Debian)에서 lsusb를 다시 실행하면 Cardo 장치는 다시 새로운 제품 ID(제 경우에는 0001)를 갖게 됩니다. 세 번째이자 마지막 .xml 파일 "usb_device_cardo_3.xml"을 생성하고 제품 ID(0x0001) 및 주소 포트(6):

<hostdev mode="subsystem" type="usb" managed="yes">
  <source>
    <vendor id="0x2685"/>
    <product id="0x0001"/>
  </source>
  <address type="usb" bus="0" port="6"/>
</hostdev>

다시 루트로 호스트 운영 체제(Debian)의 터미널을 입력합니다.

virsh attach-device win10 --file usb_device_cardo_3.xml --current

장치 연결 성공

펌웨어 업데이트를 완료하려면 "세 개의 서로 다른 xml 파일 간에 앞뒤로 연결/분리"를 사용해야 할 수도 있습니다.버쉬 연결 장비"명령. 어떤 명령을 첨부할지 확인하려면 다음을 실행하세요.LSSB호스트 운영 체제(Debian)에서 동일한 제품 ID(필자의 경우 0x0900, 0x901 또는 0x0001)를 사용하여 xml 파일을 추가합니다.

펌웨어가 업데이트되었습니다! 도움이 된다면 알려주세요!

관련 정보