| | 99 | |
| | 100 | = SOM-352 |
| | 101 | |
| | 102 | Unex has released a newer V2X Radio, SOM-352. Link: [https://unex.com.tw/en/product/som/] |
| | 103 | |
| | 104 | NOTE: This requires at minimum a 5V modification to the Gateworks SBC to power the card. Please see details above on this page. |
| | 105 | |
| | 106 | Instructions for use: |
| | 107 | |
| | 108 | 1. This device appears as a USB RNDS network device to the Linux OS running on the Gateworks SBC. It seems that the Ubuntu OS struggles with network naming related to enumerating this device. Therefore, in the Gateworks SBC u-boot, remove the following: |
| | 109 | {{{ |
| | 110 | print bootargs |
| | 111 | bootargs net.ifnames=0 |
| | 112 | setenv bootargs #CLEAR THE VARIABLE |
| | 113 | saveenv |
| | 114 | boot |
| | 115 | }}} |
| | 116 | 1. Boot the Gateworks SBC and check to see if the radio is detected with the lsusb command and the following 3 devices: |
| | 117 | {{{ |
| | 118 | Bus 001 Device 014: ID 0424:3803 Microchip Technology, Inc. (formerly SMSC) |
| | 119 | Bus 001 Device 015: ID 04d8:00dd Microchip Technology, Inc. MCP2221(a) UART/I2C Bridge |
| | 120 | Bus 001 Device 016: ID 1d6b:0104 Linux Foundation Multifunction Composite Gadget |
| | 121 | |
| | 122 | }}} |
| | 123 | 1. Verify the radio interface was created with the ifconfig -a command: (something like enx162408f5cc4c below) |
| | 124 | {{{ |
| | 125 | root@noble-venice:~# ifconfig -a |
| | 126 | end0: flags=4098<BROADCAST,MULTICAST> mtu 1500 |
| | 127 | ether 00:d0:12:8a:f8:35 txqueuelen 1000 (Ethernet) |
| | 128 | RX packets 0 bytes 0 (0.0 B) |
| | 129 | RX errors 0 dropped 0 overruns 0 frame 0 |
| | 130 | TX packets 0 bytes 0 (0.0 B) |
| | 131 | TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 |
| | 132 | |
| | 133 | enx162408f5cc4c: flags=4098<BROADCAST,MULTICAST> mtu 1500 |
| | 134 | ether 16:24:08:f5:cc:4c txqueuelen 1000 (Ethernet) |
| | 135 | RX packets 0 bytes 0 (0.0 B) |
| | 136 | RX errors 0 dropped 0 overruns 0 frame 0 |
| | 137 | TX packets 0 bytes 0 (0.0 B) |
| | 138 | TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 |
| | 139 | |
| | 140 | lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 |
| | 141 | inet 127.0.0.1 netmask 255.0.0.0 |
| | 142 | inet6 ::1 prefixlen 128 scopeid 0x10<host> |
| | 143 | loop txqueuelen 1000 (Local Loopback) |
| | 144 | RX packets 28504 bytes 2050016 (2.0 MB) |
| | 145 | RX errors 0 dropped 0 overruns 0 frame 0 |
| | 146 | TX packets 28504 bytes 2050016 (2.0 MB) |
| | 147 | TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 |
| | 148 | |
| | 149 | |
| | 150 | }}} |
| | 151 | 1. Bring up the interface and assign an IP: |
| | 152 | {{{ |
| | 153 | ifconfig enx162408f5cc4c up |
| | 154 | ifconfig enx162408f5cc4c 192.168.1.1 |
| | 155 | }}} |
| | 156 | 1. The radio itself has an IP of 192.168.1.3 (even though the interface is 192.168.1.1). Try to ping 192.168.1.3. NOTE: If an ethernet cable is connected to the Gateworks SBC, disconnect it for this test to avoid any network confusion. |
| | 157 | {{{ |
| | 158 | root@noble-venice:~# ping 192.168.1.3 |
| | 159 | PING 192.168.1.3 (192.168.1.3) 56(84) bytes of data. |
| | 160 | 64 bytes from 192.168.1.3: icmp_seq=1 ttl=64 time=1.05 ms |
| | 161 | 64 bytes from 192.168.1.3: icmp_seq=2 ttl=64 time=0.552 ms |
| | 162 | ^C |
| | 163 | --- 192.168.1.3 ping statistics --- |
| | 164 | 2 packets transmitted, 2 received, 0% packet loss, time 1002ms |
| | 165 | rtt min/avg/max/mdev = 0.552/0.801/1.050/0.249 ms |
| | 166 | root@noble-venice:~# |
| | 167 | }}} |
| | 168 | 1. SSH into the V2X radio from the Gateworks SBC (root is username, no password) |
| | 169 | {{{ |
| | 170 | root@noble-venice:~# ssh root@192.168.1.3 |
| | 171 | root@autotalks:~# |
| | 172 | }}} |
| | 173 | 1. Run the V2X example command while SSH'd into the radio, signified by the autotalks command prompt: |
| | 174 | {{{ |
| | 175 | root@autotalks:~# v2x-example |
| | 176 | Found file /usr/bin/sw_config_internal.txt |
| | 177 | Platform without TEE support |
| | 178 | Found file /usr/bin/sw_config.txt |
| | 179 | Using default value log_level_host=3 |
| | 180 | ivn_service_broadcast_disable and v2x_service_broadcast_disable will affect only server application |
| | 181 | Device on M3 |
| | 182 | Shared memory ll_init done, memory size is 4096[bytes], rx size 2048[bytes], tx size 2048[bytes] |
| | 183 | ll_interface_init done - app_role 2 |
| | 184 | GNSS device source config: internal poti disable = 1 internal baud rate = 0 internal 1Hz cycle ender = 0 internal poti type = 1 internal poti message format 1 |
| | 185 | external baud rate = 0 external device=1 external port = 0 external 1Hz cycle ender = 0 external poti type = 1 external poti message format 1 |
| | 186 | GNSS device source config: offset seconds = 0 |
| | 187 | Device and services are registered and initialized |
| | 188 | Device is alive |
| | 189 | Using default value lmac_rf_config_file_location=1 |
| | 190 | Using default value force_csk_generate=0 |
| | 191 | Using default value log_level_device=3 |
| | 192 | Using default value log_burst_size=10 |
| | 193 | Using default value lmac_loopback_enable=0 |
| | 194 | Using default value lmac_phy_loopback_enable=0 |
| | 195 | Using default value lmac_trace_verbose=0 |
| | 196 | Using default value swc_version=1 |
| | 197 | Using default value lmac_ranging_enable=0 |
| | 198 | Using default value lmac_dcc_indication_enable=1 |
| | 199 | Using default value physical_interfaces_in_use=0 |
| | 200 | Using default value lmac_diversity_enable=0 |
| | 201 | Using default value lmac_tx_q_descriptors_count=8 |
| | 202 | Using default value lmac_rx_q_descriptors_count=8 |
| | 203 | Time sync is disabled for application role CLIENT Or not main process |
| | 204 | WDM frequency for channel A: 5880 MHz |
| | 205 | Could not attach interface 0 |
| | 206 | |
| | 207 | ________________ |
| | 208 | Going to send: 'Hello No. 1' |
| | 209 | |
| | 210 | ---TX Socket Statistics--- |
| | 211 | Successfully sent: 1 |
| | 212 | Failed to be sent : 0 |
| | 213 | Total sent: 1 |
| | 214 | Successfully received: 0 |
| | 215 | Dropped: 0 |
| | 216 | Total received: 0 |
| | 217 | Previous packet tsf usec : 0 |
| | 218 | ________________ |
| | 219 | |
| | 220 | |
| | 221 | root@autotalks:~# |
| | 222 | |
| | 223 | }}} |
| | 224 | |
| | 225 | === Troubleshooting SOM-352 |
| | 226 | 1. Verify the device is seen on lsusb: |
| | 227 | {{{ |
| | 228 | Bus 001 Device 014: ID 0424:3803 Microchip Technology, Inc. (formerly SMSC) |
| | 229 | Bus 001 Device 015: ID 04d8:00dd Microchip Technology, Inc. MCP2221(a) UART/I2C Bridge |
| | 230 | Bus 001 Device 016: ID 1d6b:0104 Linux Foundation Multifunction Composite Gadget |
| | 231 | |
| | 232 | }}} |
| | 233 | 1. Verify the RNDIS driver found the radio and created a network interface: |
| | 234 | {{{ |
| | 235 | root@noble-venice:~# dmesg | grep rndis |
| | 236 | [ 18.009833] rndis_host 1-1.1.1.1:1.0 eth0: register 'rndis_host' at usb-ci_hdrc.0-1.1.1.1, RNDIS device, 22:ee:ea:b0:1c:91 |
| | 237 | [ 18.009989] usbcore: registered new interface driver rndis_host |
| | 238 | [ 18.030099] rndis_host 1-1.1.1.1:1.0 enx22eeeab01c91: renamed from eth0 |
| | 239 | |
| | 240 | }}} |
| | 241 | 1. Verify the RNDIS module is seen: |
| | 242 | {{{ |
| | 243 | root@noble-venice:~# lsmod | grep rndis |
| | 244 | rndis_host 24576 0 |
| | 245 | cdc_ether 20480 1 rndis_host |
| | 246 | usbnet 57344 2 rndis_host,cdc_ether |
| | 247 | }}} |
| | 248 | 1. Cannot ssh into 192.168.1.3? Be sure all other network interfaces are removed (unplug ethernet cables, unplug !WiFi cards, etc) |