上野家のホームページ
ナーマル,マリン,ココ
[
新規
|
一覧
|
検索
|
最新
|
ヘルプ
]
PC/PX-W3U4/px-w3u4が動作しなくなった
をテンプレートにして作成
資料室
PC/PX-W3U4/px-w3u4が動作しなくなった をテンプレートにして作成
[
差分
|
バックアップ
|
リロード
]
[ ]
開始行:
* PX-W3U4が動作しなくなった
もう4年ぐらい旅行先でTV放送を見たり,自宅で録画したりする...
PX-W3U4をUSBケーブルでPCに接続すると,本来はVID:PID=0511:...
試しにWindowsのNote PCに接続しても同様に動作しない。しょ...
つまり動作しなくなったのはUSB接続時PX-W3U4のVID:PIDが変わ...
Linuxマシンの[[デバイスドライバー(px4_drv)>../Raspberry...
PX-W3U4にはEEPROM(24C02WP)が実装されていて,そこにVIDや...
ただEEPROM(24C02WP)のWC端子がGNDに接続されているので,P...
実装されているEEPROM(24C02WP)に書き込まれているデータを...
dumpしたEEPROMのデータ:&ref(pxw3u4rom.bin);~
''どなたか正常なPX-W3U4のEEPROMをdumpしてもらえないかな・...
なんでIT9305Eがboot時にEEPROMを読み込まないのかは不明なの...
PX-W3U4を本来のVID:PID=0511:083fに戻すべきなのだが,EEPRO...
* 修正したpx4_drvデバイスドライバー
VID:PID=048d:9306を使うように修正した,Windows用のWinUSB...
** WinUSB版px4_drvの修正
WinUSB版PX-W3U4用のinfファイルを,VID:PID=048d:9306に変更...
&ref(px4_drv_patch.zip);
** Linux px4_drvのソースコードの修正
Linux(Raspbian buster)マシンの[[px4_drvデバイスドライバ...
以下は修正したソースファイル。~
''px4_device.c''~
} else if (!tmp) {
dev_warn(dev, "EEPROM error.\n");
return ret;
}
↓
} else if (!tmp) {
//dev_warn(dev, "EEPROM error.\n");
//return ret;
}
if (!px4 || !dev || !dev_serial || !chrdev_ctx || !quit...
↓
if (!px4 || !dev || !chrdev_ctx || !quit_completion)
ret = px4_parse_serial_number(&px4->serial, dev_serial);
if (ret) {
dev_err(px4->dev,
"px4_device_init: px4_parse_serial_number() failed. (...
ret);
goto fail;
}
dev_dbg(px4->dev, "px4_device_init: serial_number: %014...
px4->serial.serial_number);
dev_dbg(px4->dev, "px4_device_init: dev_id: %u\n", px4-...
if (!px4->serial.dev_id || px4->serial.dev_id > 2)
dev_warn(px4->dev,
"px4_device_init: Unexpected device id: %u\n",
px4->serial.dev_id);
↓
/*
ret = px4_parse_serial_number(&px4->serial, dev_serial);
if (ret) {
dev_err(px4->dev,
"px4_device_init: px4_parse_serial_number() failed. (...
ret);
goto fail;
}
dev_dbg(px4->dev, "px4_device_init: serial_number: %014...
px4->serial.serial_number);
dev_dbg(px4->dev, "px4_device_init: dev_id: %u\n", px4-...
if (!px4->serial.dev_id || px4->serial.dev_id > 2)
dev_warn(px4->dev,
"px4_device_init: Unexpected device id: %u\n",
px4->serial.dev_id);
*/
''px4_usb.c''~
switch (id->idVendor) {
case 0x0511:
{
↓
switch (id->idVendor) {
case 0x048d:
case 0x0511:
{
static const struct usb_device_id px4_usb_ids[] = {
{ USB_DEVICE(0x0511, USB_PID_PX_W3U4) },
{ USB_DEVICE(0x0511, USB_PID_PX_Q3U4) },
↓
static const struct usb_device_id px4_usb_ids[] = {
{ USB_DEVICE(0x048d, USB_PID_PX_W3U4) },
{ USB_DEVICE(0x0511, USB_PID_PX_Q3U4) },
''px4_usb.h''~
#define USB_PID_PX_W3U4 0x083f
#define USB_PID_PX_Q3U4 0x084a
↓
#define USB_PID_PX_W3U4 0x9306
#define USB_PID_PX_Q3U4 0x084a
*** 不要なデバイスドライバーを読み込まないようにする
PX-W3U4のUSBがVID:PID=048d:9306になってしまうと,それに対...
なので,読み込まないように''/etc/modprobe.d/blacklist-dvb...
blacklist dvb_usb_af9035
これでPX-W3U4接続時に[[不要なデバイスドライバーの読み込み...
終了行:
* PX-W3U4が動作しなくなった
もう4年ぐらい旅行先でTV放送を見たり,自宅で録画したりする...
PX-W3U4をUSBケーブルでPCに接続すると,本来はVID:PID=0511:...
試しにWindowsのNote PCに接続しても同様に動作しない。しょ...
つまり動作しなくなったのはUSB接続時PX-W3U4のVID:PIDが変わ...
Linuxマシンの[[デバイスドライバー(px4_drv)>../Raspberry...
PX-W3U4にはEEPROM(24C02WP)が実装されていて,そこにVIDや...
ただEEPROM(24C02WP)のWC端子がGNDに接続されているので,P...
実装されているEEPROM(24C02WP)に書き込まれているデータを...
dumpしたEEPROMのデータ:&ref(pxw3u4rom.bin);~
''どなたか正常なPX-W3U4のEEPROMをdumpしてもらえないかな・...
なんでIT9305Eがboot時にEEPROMを読み込まないのかは不明なの...
PX-W3U4を本来のVID:PID=0511:083fに戻すべきなのだが,EEPRO...
* 修正したpx4_drvデバイスドライバー
VID:PID=048d:9306を使うように修正した,Windows用のWinUSB...
** WinUSB版px4_drvの修正
WinUSB版PX-W3U4用のinfファイルを,VID:PID=048d:9306に変更...
&ref(px4_drv_patch.zip);
** Linux px4_drvのソースコードの修正
Linux(Raspbian buster)マシンの[[px4_drvデバイスドライバ...
以下は修正したソースファイル。~
''px4_device.c''~
} else if (!tmp) {
dev_warn(dev, "EEPROM error.\n");
return ret;
}
↓
} else if (!tmp) {
//dev_warn(dev, "EEPROM error.\n");
//return ret;
}
if (!px4 || !dev || !dev_serial || !chrdev_ctx || !quit...
↓
if (!px4 || !dev || !chrdev_ctx || !quit_completion)
ret = px4_parse_serial_number(&px4->serial, dev_serial);
if (ret) {
dev_err(px4->dev,
"px4_device_init: px4_parse_serial_number() failed. (...
ret);
goto fail;
}
dev_dbg(px4->dev, "px4_device_init: serial_number: %014...
px4->serial.serial_number);
dev_dbg(px4->dev, "px4_device_init: dev_id: %u\n", px4-...
if (!px4->serial.dev_id || px4->serial.dev_id > 2)
dev_warn(px4->dev,
"px4_device_init: Unexpected device id: %u\n",
px4->serial.dev_id);
↓
/*
ret = px4_parse_serial_number(&px4->serial, dev_serial);
if (ret) {
dev_err(px4->dev,
"px4_device_init: px4_parse_serial_number() failed. (...
ret);
goto fail;
}
dev_dbg(px4->dev, "px4_device_init: serial_number: %014...
px4->serial.serial_number);
dev_dbg(px4->dev, "px4_device_init: dev_id: %u\n", px4-...
if (!px4->serial.dev_id || px4->serial.dev_id > 2)
dev_warn(px4->dev,
"px4_device_init: Unexpected device id: %u\n",
px4->serial.dev_id);
*/
''px4_usb.c''~
switch (id->idVendor) {
case 0x0511:
{
↓
switch (id->idVendor) {
case 0x048d:
case 0x0511:
{
static const struct usb_device_id px4_usb_ids[] = {
{ USB_DEVICE(0x0511, USB_PID_PX_W3U4) },
{ USB_DEVICE(0x0511, USB_PID_PX_Q3U4) },
↓
static const struct usb_device_id px4_usb_ids[] = {
{ USB_DEVICE(0x048d, USB_PID_PX_W3U4) },
{ USB_DEVICE(0x0511, USB_PID_PX_Q3U4) },
''px4_usb.h''~
#define USB_PID_PX_W3U4 0x083f
#define USB_PID_PX_Q3U4 0x084a
↓
#define USB_PID_PX_W3U4 0x9306
#define USB_PID_PX_Q3U4 0x084a
*** 不要なデバイスドライバーを読み込まないようにする
PX-W3U4のUSBがVID:PID=048d:9306になってしまうと,それに対...
なので,読み込まないように''/etc/modprobe.d/blacklist-dvb...
blacklist dvb_usb_af9035
これでPX-W3U4接続時に[[不要なデバイスドライバーの読み込み...
ページ名:
Counter: 0, today: 0, yesterday: 0
Copyright©2008 Yuji Ueno All Rights Reserved.
ログイン
ユーザ名:
パスワード:
IDとパスワードを記憶
パスワード紛失
メインメニュー
ホーム
でぶlog
資料室
最新ページ一覧
全ページ一覧
ヘルプ
フォーラム
お問い合わせ