#navi(Vweb)
&size(24){&color(darkgreen){''Vweb SDK2の修正''};};
#contents
----

** Kernel 2.6.11対応 [#e6c2a645]
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 $*


** Multicast [#x58ab74d]

 CONFIG_IP_MULTICAST=y

-setsockoptで
--multicast groupに参加する
--ttlを設定する

***PC + WIN10の結果 [#gef77e4b]

 % ./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

***WPAR01 [#k9c85a07]

 # 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と同時使用できる。


トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS