Vweb SDK2の修正
SDK2/dirver_linux/vw2010.c
SDK2/driver_linux/vw2010.c
- if (remap_page_range(vma, vma->vm_start, virt_to_phys(
(void*)((unsigned long)pdx->dmaData[i].PagedAddr)), size, PAGE_SHARED)) {
+ if (io_remap_page_range(vma, vma->vm_start, virt_to_phys(
(void*)((unsigned long)pdx->dmaData[i].PagedAddr)), size, PAGE_SHARED)) {
SDK2/driver_linux/modload
insmod /$PWD/${module}.ko $*
CONFIG_IP_MULTICAST=y
% ./net_recv
option_files/dec_mp4ts_ntsc.ini
do_network=true
hostname=239.255.255.241
port=48688
do_multicast=true
[ Vweb VW2010 SDK2 Network Decoder v2.50 ]
[ NET_DECODER ] -> Compiled on: [Jun 16 2005 10:54:02]
[ vwSDK.so ] -> Compiled on: [Apr 11 2005 16:47:29]
=> setMsgLevel set to 1
openDevice("/dev/vw2010/vw2010_00") board #0 succeeded, handle=00000003
=> Putting VW2010 Board #0 in Reset Mode...success!
=> Resetting Encoder...success!
=> Resetting Decoder...success!
=> Resetting Signature...Success!
=> Reset Driver handles board #0
=> VW2010 chip detected
=> PCI Driver Version = 0x20041207
transfer timeout is 5
single transfer is 8 pages
setConfigParam [do_network=true]
setConfigParam [hostname=239.255.255.241]
setConfigParam [port=48688]
setConfigParam [do_multicast=true]
=> FW Download: [boot.sre] succeeded!
=> FW Verify: [boot.sre] succeeded!
=> FW Download: [tscodec.sre] succeeded!
=> FW Verify: [tscodec.sre] succeeded!
starting MIPS
checking MIPS
> MIPs microcode initialization succeeded!
=> Firmware running!
=> Firmware is Running!
=> TSDEMUX Firmware version N/A
Firmware version # = 0 [0x00000000]
Transfer Size is 32712
--- network_read_thread() created!
init_udp_receiver() - connecting to 239.255.255.241
--- decode_thread() created!
setupDevice() <Transport Stream DEMUX>
Send reset cmd...
setting (0x020A) video_format = ( 1 [0x00000001] )
setting (0x020E) loopback_mode = ( 0 [0x00000000] )
setting (0x020E) mpeg_coding_standard = ( 4 [0x00000004] )
setting (0x0001) bypass_mode = ( 0 [0x00000000] )
setting (0x0020) preview_mode = ( 0 [0x00000000] )
setting (0x0003) input_device = ( 3 [0x00000003] )
setting (0x0013) serial_cdi_endianess = ( 1 [0x00000001] )
setting (0x0021) auto_demux = ( 1 [0x00000001] )
setting (0x001E) pci_endianess = ( 1 [0x00000001] )
setting (0x001F) bit_rate = ( 20000000 [0x01312D00] )
setting (0x1003) demux_write_fifo_address = ( 12586752 [0x00C00F00] )
setting (0x1002) demux_read_fifo_address = ( 12583424 [0x00C00200] )
setting (0x000E) play_back_prog_num = ( 0 [0x00000000] )
setting (0x0004) pmt_pid = ( 0 [0x00000000] )
setting (0x0005) nit_pid = ( 0 [0x00000000] )
setting (0x0006) private_data_pid = ( 0 [0x00000000] )
setting (0x0038) video_pid = ( 0 [0x00000000] )
setting (0x0030) audio1_pid = ( 0 [0x00000000] )
setting (0x0031) audio2_pid = ( 0 [0x00000000] )
setting (0x0010) pcr_pid = ( 0 [0x00000000] )
setting (0x0018) user_pid1 = ( 0 [0x00000000] )
setting (0x0019) user_pid2 = ( 0 [0x00000000] )
setting (0x001A) user_pid3 = ( 0 [0x00000000] )
setting (0x001B) user_pid1_mask = ( 0 [0x00000000] )
setting (0x001C) user_pid2_mask = ( 0 [0x00000000] )
setting (0x001D) user_pid3_mask = ( 0 [0x00000000] )
setting (0x003C) av_sync = ( 1 [0x00000001] )
setting (0x0210) short_header = ( 0 [0x00000000] )
setting (0x0220) vsync_output_gpio = ( 0 [0x00000000] )
setting (0x0050) audio_delay = ( 0 [0x00000000] )
setting (0x005A) Video_output_config = set 3 INT32 array elements
setting (0x0420) Video_aspect_ratio = ( 0 [0x00000000] )
setting (0x0420) gpio_configuration = ( 16711680 [0x00FF0000] )
setting (0x0421) gpio_access = ( 0 [0x00000000] )
setting (0x0031) av_sync = ( 1 [0x00000001] )
setting (0x0507) fixed_pattern = ( 0 [0x00000000] )
setting (0x003F) stop_background_color = ( 49 [0x00000031] )
setting (0x0040) decoder_pwm = ( 0 [0x00000000] )
setting (0x0041) underflow_background_color = ( 49 [0x00000031] )
setting (0x0043) flush_before_stop = ( 0 [0x00000000] )
setting (0x0044) timeout_to_show_background = ( 2 [0x00000002] )
setting (0x0045) fast_restart = ( 0 [0x00000000] )
setting (0x003E) clock_recovery = ( 1 [0x00000001] )
setting (0x0046) audio_dual_mono = ( 0 [0x00000000] )
setting (0x0047) audio_mute = ( 0 [0x00000000] )
configureI2CTable(): sending I2C Table # 5
Starting DEMUX device...
decode_thread startWriteDevice() success!
+++++++++++++++++++++++++++++++++
net_decoder_thread() recv 1.03 MBytes
multicastが有効になっているときだけpingが自分からかえってくる。
% ping 239.255.255.241 PING 239.255.255.241 (239.255.255.241) 56(84) bytes of data. 64 bytes from 192.168.100.7: icmp_seq=1 ttl=64 time=0.205 ms 64 bytes from 192.168.100.7: icmp_seq=2 ttl=64 time=0.535 ms
# wpa_net_play
/usr/wpar/bin/wpa_mp4ts.ini
do_network=true
hostname=239.255.255.241
port=48688
do_multicast=true
[ Vweb VW2010 SDK2 Network Decoder v2.50 ]
[ NET_DECODER ] -> Compiled on: [Jan 17 2005 19:50:12]
[ vwSDK.so ] -> Compiled on: [Dec 24 2004 15:18:51]
=> setMsgLevel set to 1
openDevice("/dev/vw2010/vw2010_00") board #0 succeeded, handle=00000003
=> Putting VW2010 Board #0 in Reset Mode...success!
=> Resetting Encoder...success!
=> Resetting Decoder...success!
=> Resetting Signature...Success!
=> Reset Driver handles board #0
=> Enable VW2002 MODE
=> VW2010 chip detected
=> PCI Driver Version = 0x20041113
transfer timeout is 5
single transfer is 8 pages
setConfigParam [do_network=true]
setConfigParam [hostname=239.255.255.241]
setConfigParam [port=48688]
setConfigParam [do_multicast=true]
=> FW Download: [/usr/wpar/bin/boot.sre] succeeded!
=> FW Verify: [/usr/wpar/bin/boot.sre] succeeded!
=> FW Download: [/usr/wpar/bin/tscodec.sre] succeeded!
=> FW Verify: [/usr/wpar/bin/tscodec.sre] succeeded!
starting MIPS
checking MIPS
> MIPs microcode initialization succeeded!
=> Firmware running!
=> Firmware is Running!
vw2010_ioctl(0): [_ALLOC_CMD_BLOCK] (0) virtAddr=0xaf710000 busAddr=0x0f710000
=> TSDEMUX Firmware version N/A
Firmware version # = 0 [0x00000000]
Transfer Size is 32712
--- network_read_thread() created!
init_udp_receiver() - connecting to 239.255.255.241
init_udp_receiver(), setsockopt() - error
unable to initialize network, aborting...
--- decode_thread() created!
setupDevice() <Transport Stream DEMUX>
Send reset cmd...
setting (0x020A) video_format = ( 1 [0x00000001] )
setting (0x020E) mpeg_coding_standard = ( 4 [0x00000004] )
setting (0x020F) loopback_mode = ( 0 [0x00000000] )
setting (0x0001) bypass_mode = ( 0 [0x00000000] )
setting (0x0020) preview_mode = ( 0 [0x00000000] )
setting (0x0003) input_device = ( 3 [0x00000003] )
setting (0x0013) serial_cdi_endianess = ( 1 [0x00000001] )
setting (0x0021) auto_demux = ( 1 [0x00000001] )
setting (0x001E) pci_endianess = ( 1 [0x00000001] )
setting (0x001F) bit_rate = ( 20000000 [0x01312D00] )
setting (0x1003) demux_write_fifo_address = ( 12586752 [0x00C00F00] )
setting (0x1002) demux_read_fifo_address = ( 12583424 [0x00C00200] )
setting (0x000E) play_back_prog_num = ( 0 [0x00000000] )
setting (0x0004) pmt_pid = ( 0 [0x00000000] )
setting (0x0005) nit_pid = ( 0 [0x00000000] )
setting (0x0006) private_data_pid = ( 0 [0x00000000] )
setting (0x0038) video_pid = ( 0 [0x00000000] )
setting (0x0030) audio1_pid = ( 0 [0x00000000] )
setting (0x0031) audio2_pid = ( 0 [0x00000000] )
setting (0x0010) pcr_pid = ( 0 [0x00000000] )
setting (0x0018) user_pid1 = ( 0 [0x00000000] )
setting (0x0019) user_pid2 = ( 0 [0x00000000] )
setting (0x001A) user_pid3 = ( 0 [0x00000000] )
setting (0x001B) user_pid1_mask = ( 0 [0x00000000] )
setting (0x001C) user_pid2_mask = ( 0 [0x00000000] )
setting (0x001D) user_pid3_mask = ( 0 [0x00000000] )
setting (0x003C) av_sync = ( 1 [0x00000001] )
setting (0x0210) short_header = ( 0 [0x00000000] )
setting (0x0220) vsync_output_gpio = ( 0 [0x00000000] )
setting (0x0050) audio_delay = ( 0 [0x00000000] )
setting (0x005A) Video_output_config = set 3 INT32 array elements
setting (0x005B) Video_aspect_ratio = ( 0 [0x00000000] )
setting (0x0420) gpio_configuration = ( 16711680 [0x00FF0000] )
setting (0x0421) gpio_access = ( 0 [0x00000000] )
setting (0x0031) av_sync = ( 1 [0x00000001] )
setting (0x0507) fixed_pattern = ( 0 [0x00000000] )
setting (0x003F) stop_background_color = ( 49 [0x00000031] )
setting (0x0040) decoder_pwm = ( 0 [0x00000000] )
setting (0x0041) underflow_background_color = ( 49 [0x00000031] )
setting (0x0043) flush_before_stop = ( 0 [0x00000000] )
setting (0x0044) timeout_to_show_background = ( 2 [0x00000002] )
setting (0x0045) fast_restart = ( 0 [0x00000000] )
setting (0x003E) clock_recovery = ( 1 [0x00000001] )
setting (0x0046) audio_dual_mono = ( 0 [0x00000000] )
setting (0x0047) audio_mute = ( 0 [0x00000000] )
configureI2CTable(): sending I2C Table # 5
Starting DEMUX device...
decode_thread startWriteDevice() success!
qUser hit 'q' key, stopping program
受信してくれない。
# ping 239.255.255.241 PING 239.255.255.241 (239.255.255.241): 56 data bytes ping: sendto: Network is unreachable
pingも通らない。
default gatewayも設定しないといけないらしい。
# route add -net 0.0.0.0 netmask 0.0.0.0 gw 192.168.100.2
おお。
# ping 239.255.255.241 PING 239.255.255.241 (239.255.255.241): 56 data bytes 64 bytes from 192.168.100.7: icmp_seq=0 ttl=64 time=0.7 ms 64 bytes from 192.168.100.7: icmp_seq=1 ttl=64 time=0.4 ms
wpar01で受信した場合、VLCと同時使用できる。