N0BOY / FT8CN

Run FT8 on Android
MIT License
315 stars 26 forks source link

FT8CN crashes connecting to Xiegu X6100 firmware 1.1.7 (August 2023) #69

Open djbr1 opened 10 months ago

djbr1 commented 10 months ago

Hello FT8CN crashes when Network connection is attempted to newest Xiegu X6100 firmware which supports WFserver (Icom IC705 emulation)

FT8CN ver0.9

please check crash information from Android device.

FT8CN ver0.9 works normally when connection is USB to Xiegu X6100 previous firmware version 1.1.6

73 HB9TXB Branko



08-16 16:23:51.981  2162  2257 D IcomUdpBase: start PingTimer: local port:41707,remote port 50001
08-16 16:23:51.981  2162  2162 E ViewRootImpl: sendUserActionEvent() mView == null
08-16 16:23:52.001  2162  2257 D IcomUdpBase: start Idle Timer: local port:41707,remote port 50001
08-16 16:23:52.001  2162  2257 D IcomControlUdp: connection mode:WFVIEW
08-16 16:23:52.001  2162  2257 D IcomControlUdp: onReceiveLoginResponse: Login succeed!
08-16 16:23:52.001  2162  2257 D IcomControlUdp: onReceiveLoginResponse: send token confirm 0x02
08-16 16:23:52.001  2162  2257 D IcomControlUdp: start Toke Timer: local port:41707,remote port 50001
08-16 16:23:52.011  2162  2257 E IcomControlUdp: onReceiveConnInfoPacket: send 0x90
08-16 16:23:52.011  2162  2257 E AndroidRuntime: FATAL EXCEPTION: pool-16-thread-1
08-16 16:23:52.011  2162  2257 E AndroidRuntime: Process: com.bg7yoz.ft8cn, PID: 2162
08-16 16:23:52.011  2162  2257 E AndroidRuntime: java.lang.ArrayIndexOutOfBoundsException: length=32; index=32
08-16 16:23:52.011  2162  2257 E AndroidRuntime:    at com.bg7yoz.ft8cn.icom.IComPacketTypes.stringToByte(IComPacketTypes.java:911)
08-16 16:23:52.011  2162  2257 E AndroidRuntime:    at com.bg7yoz.ft8cn.icom.IComPacketTypes$ConnInfoPacket.connInfoPacketData(IComPacketTypes.java:524)
08-16 16:23:52.011  2162  2257 E AndroidRuntime:    at com.bg7yoz.ft8cn.icom.IcomControlUdp.onReceiveConnInfoPacket(IcomControlUdp.java:105)
08-16 16:23:52.011  2162  2257 E AndroidRuntime:    at com.bg7yoz.ft8cn.icom.IcomControlUdp.onDataReceived(IcomControlUdp.java:79)
08-16 16:23:52.011  2162  2257 E AndroidRuntime:    at com.bg7yoz.ft8cn.icom.IcomUdpBase$1.OnReceiveData(IcomUdpBase.java:122)
08-16 16:23:52.011  2162  2257 E AndroidRuntime:    at com.bg7yoz.ft8cn.icom.IcomUdpClient$DoReceiveRunnable.run(IcomUdpClient.java:211)
08-16 16:23:52.011  2162  2257 E AndroidRuntime:    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
08-16 16:23:52.011  2162  2257 E AndroidRuntime:    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
08-16 16:23:52.011  2162  2257 E AndroidRuntime:    at java.lang.Thread.run(Thread.java:818)
08-16 16:23:52.021  3027  4277 D InputDispatcher: Focus left window: 2162
08-16 16:23:52.651  2162  2162 D ViewRootImpl: #3 mView = null
08-16 16:23:52.971  2162  2275 W System.err: java.net.SocketException: sendto failed: EINVAL (Invalid argument)
08-16 16:23:52.971  2162  2275 W System.err:    at libcore.io.IoBridge.maybeThrowAfterSendto(IoBridge.java:542)
08-16 16:23:52.971  2162  2275 W System.err:    at libcore.io.IoBridge.sendto(IoBridge.java:511)
08-16 16:23:52.971  2162  2275 W System.err:    at java.net.PlainDatagramSocketImpl.send(PlainDatagramSocketImpl.java:184)
08-16 16:23:52.971  2162  2275 W System.err:    at java.net.DatagramSocket.send(DatagramSocket.java:305)
08-16 16:23:52.971  2162  2275 W System.err:    at com.bg7yoz.ft8cn.icom.IcomUdpClient$SendDataRunnable.run(IcomUdpClient.java:84)
08-16 16:23:52.971  2162  2275 W System.err:    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
08-16 16:23:52.971  2162  2275 W System.err:    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
08-16 16:23:52.971  2162  2275 W System.err:    at java.lang.Thread.run(Thread.java:818)
08-16 16:23:52.971  2162  2275 W System.err: Caused by: android.system.ErrnoException: sendto failed: EINVAL (Invalid argument)
08-16 16:23:52.971  2162  2275 W System.err:    at libcore.io.Posix.sendtoBytes(Native Method)
08-16 16:23:52.971  2162  2275 W System.err:    at libcore.io.Posix.sendto(Posix.java:211)
08-16 16:23:52.971  2162  2275 W System.err:    at libcore.io.BlockGuardOs.sendto(BlockGuardOs.java:278)
08-16 16:23:52.971  2162  2275 W System.err:    at libcore.io.IoBridge.sendto(IoBridge.java:509)
08-16 16:23:52.971  2162  2275 W System.err:    ... 6 more
08-16 16:23:52.971  2162  2275 E RadioUdpSocket: IComUdpClient: sendto failed: EINVAL (Invalid argument)
08-16 16:23:52.971  2162  2278 W System.err: java.net.SocketException: sendto failed: EINVAL (Invalid argument)
08-16 16:23:52.971  2162  2278 W System.err:    at libcore.io.IoBridge.maybeThrowAfterSendto(IoBridge.java:542)
08-16 16:23:52.971  2162  2278 W System.err:    at libcore.io.IoBridge.sendto(IoBridge.java:511)
08-16 16:23:52.971  2162  2278 W System.err:    at java.net.PlainDatagramSocketImpl.send(PlainDatagramSocketImpl.java:184)
08-16 16:23:52.971  2162  2278 W System.err:    at java.net.DatagramSocket.send(DatagramSocket.java:305)
08-16 16:23:52.971  2162  2278 W System.err:    at com.bg7yoz.ft8cn.icom.IcomUdpClient$SendDataRunnable.run(IcomUdpClient.java:84)
08-16 16:23:52.971  2162  2278 W System.err:    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
08-16 16:23:52.971  2162  2278 W System.err:    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
08-16 16:23:52.971  2162  2278 W System.err:    at java.lang.Thread.run(Thread.java:818)
08-16 16:23:52.971  2162  2278 W System.err: Caused by: android.system.ErrnoException: sendto failed: EINVAL (Invalid argument)
08-16 16:23:52.971  2162  2278 W System.err:    at libcore.io.Posix.sendtoBytes(Native Method)
08-16 16:23:52.971  2162  2278 W System.err:    at libcore.io.Posix.sendto(Posix.java:211)
08-16 16:23:52.971  2162  2278 W System.err:    at libcore.io.BlockGuardOs.sendto(BlockGuardOs.java:278)
08-16 16:23:52.971  2162  2278 W System.err:    at libcore.io.IoBridge.sendto(IoBridge.java:509)
08-16 16:23:52.971  2162  2278 W System.err:    ... 6 more
08-16 16:23:52.971  2162  2278 E RadioUdpSocket: IComUdpClient: sendto failed: EINVAL (Invalid argument)
08-16 16:23:52.971  2162  2276 W System.err: java.net.SocketException: sendto failed: EINVAL (Invalid argument)
08-16 16:23:52.971  2162  2276 W System.err:    at libcore.io.IoBridge.maybeThrowAfterSendto(IoBridge.java:542)
08-16 16:23:52.971  2162  2276 W System.err:    at libcore.io.IoBridge.sendto(IoBridge.java:511)
08-16 16:23:52.971  2162  2276 W System.err:    at java.net.PlainDatagramSocketImpl.send(PlainDatagramSocketImpl.java:184)
08-16 16:23:52.971  2162  2276 W System.err:    at java.net.DatagramSocket.send(DatagramSocket.java:305)
08-16 16:23:52.971  2162  2276 W System.err:    at com.bg7yoz.ft8cn.icom.IcomUdpClient$SendDataRunnable.run(IcomUdpClient.java:84)
08-16 16:23:52.971  2162  2276 W System.err:    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
08-16 16:23:52.971  2162  2276 W System.err:    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
08-16 16:23:52.971  2162  2276 W System.err:    at java.lang.Thread.run(Thread.java:818)
08-16 16:23:52.971  2162  2276 W System.err: Caused by: android.system.ErrnoException: sendto failed: EINVAL (Invalid argument)
08-16 16:23:52.971  2162  2276 W System.err:    at libcore.io.Posix.sendtoBytes(Native Method)
08-16 16:23:52.971  2162  2276 W System.err:    at libcore.io.Posix.sendto(Posix.java:211)
08-16 16:23:52.971  2162  2276 W System.err:    at libcore.io.BlockGuardOs.sendto(BlockGuardOs.java:278)
08-16 16:23:52.971  2162  2276 W System.err:    at libcore.io.IoBridge.sendto(IoBridge.java:509)
08-16 16:23:52.971  2162  2276 W System.err:    ... 6 more
08-16 16:23:52.971  2162  2276 E RadioUdpSocket: IComUdpClient: sendto failed: EINVAL (Invalid argument)
08-16 16:23:52.971  2162  2277 W System.err: java.net.SocketException: sendto failed: EINVAL (Invalid argument)
08-16 16:23:52.971  2162  2277 W System.err:    at libcore.io.IoBridge.maybeThrowAfterSendto(IoBridge.java:542)
08-16 16:23:52.971  2162  2277 W System.err:    at libcore.io.IoBridge.sendto(IoBridge.java:511)
08-16 16:23:52.971  2162  2277 W System.err:    at java.net.PlainDatagramSocketImpl.send(PlainDatagramSocketImpl.java:184)
08-16 16:23:52.971  2162  2277 W System.err:    at java.net.DatagramSocket.send(DatagramSocket.java:305)
08-16 16:23:52.971  2162  2277 W System.err:    at com.bg7yoz.ft8cn.icom.IcomUdpClient$SendDataRunnable.run(IcomUdpClient.java:84)
08-16 16:23:52.971  2162  2277 W System.err:    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
08-16 16:23:52.971  2162  2277 W System.err:    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
08-16 16:23:52.971  2162  2277 W System.err:    at java.lang.Thread.run(Thread.java:818)
08-16 16:23:52.971  2162  2277 W System.err: Caused by: android.system.ErrnoException: sendto failed: EINVAL (Invalid argument)
08-16 16:23:52.971  2162  2277 W System.err:    at libcore.io.Posix.sendtoBytes(Native Method)
08-16 16:23:52.971  2162  2277 W System.err:    at libcore.io.Posix.sendto(Posix.java:211)
08-16 16:23:52.971  2162  2277 W System.err:    at libcore.io.BlockGuardOs.sendto(BlockGuardOs.java:278)
08-16 16:23:52.971  2162  2277 W System.err:    at libcore.io.IoBridge.sendto(IoBridge.java:509)
08-16 16:23:52.971  2162  2277 W System.err:    ... 6 more
08-16 16:23:52.971  2162  2277 E RadioUdpSocket: IComUdpClient: sendto failed: EINVAL (Invalid argument)
08-16 16:23:52.971  2162  2279 W System.err: java.net.SocketException: sendto failed: EINVAL (Invalid argument)
08-16 16:23:52.971  2162  2279 W System.err:    at libcore.io.IoBridge.maybeThrowAfterSendto(IoBridge.java:542)
08-16 16:23:52.971  2162  2279 W System.err:    at libcore.io.IoBridge.sendto(IoBridge.java:511)
08-16 16:23:52.971  2162  2279 W System.err:    at java.net.PlainDatagramSocketImpl.send(PlainDatagramSocketImpl.java:184)
08-16 16:23:52.971  2162  2279 W System.err:    at java.net.DatagramSocket.send(DatagramSocket.java:305)
08-16 16:23:52.971  2162  2279 W System.err:    at com.bg7yoz.ft8cn.icom.IcomUdpClient$SendDataRunnable.run(IcomUdpClient.java:84)
08-16 16:23:52.971  2162  2279 W System.err:    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
08-16 16:23:52.971  2162  2279 W System.err:    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
08-16 16:23:52.971  2162  2279 W System.err:    at java.lang.Thread.run(Thread.java:818)
08-16 16:23:52.971  2162  2279 W System.err: Caused by: android.system.ErrnoException: sendto failed: EINVAL (Invalid argument)
08-16 16:23:52.971  2162  2279 W System.err:    at libcore.io.Posix.sendtoBytes(Native Method)
08-16 16:23:52.971  2162  2279 W System.err:    at libcore.io.Posix.sendto(Posix.java:211)
08-16 16:23:52.971  2162  2279 W System.err:    at libcore.io.BlockGuardOs.sendto(BlockGuardOs.java:278)
08-16 16:23:52.971  2162  2279 W System.err:    at libcore.io.IoBridge.sendto(IoBridge.java:509)
08-16 16:23:52.971  2162  2279 W System.err:    ... 6 more
08-16 16:23:52.971  2162  2279 E RadioUdpSocket: IComUdpClient: sendto failed: EINVAL (Invalid argument)
08-16 16:23:53.781  2162  2162 D IcomRigConstant: setOperationFrequency: fe fe a4 e0 05 00 40 07 28 00 fd
08-16 16:23:53.781  2162  2279 W System.err: java.net.SocketException: sendto failed: EINVAL (Invalid argument)
08-16 16:23:53.781  2162  2279 W System.err:    at libcore.io.IoBridge.maybeThrowAfterSendto(IoBridge.java:542)
08-16 16:23:53.781  2162  2279 W System.err:    at libcore.io.IoBridge.sendto(IoBridge.java:511)
08-16 16:23:53.781  2162  2279 W System.err:    at java.net.PlainDatagramSocketImpl.send(PlainDatagramSocketImpl.java:184)
08-16 16:23:53.781  2162  2279 W System.err:    at java.net.DatagramSocket.send(DatagramSocket.java:305)
08-16 16:23:53.781  2162  2279 W System.err:    at com.bg7yoz.ft8cn.icom.IcomUdpClient$SendDataRunnable.run(IcomUdpClient.java:84)
08-16 16:23:53.781  2162  2279 W System.err:    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
08-16 16:23:53.781  2162  2279 W System.err:    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
08-16 16:23:53.781  2162  2279 W System.err:    at java.lang.Thread.run(Thread.java:818)
08-16 16:23:53.781  2162  2279 W System.err: Caused by: android.system.ErrnoException: sendto failed: EINVAL (Invalid argument)
08-16 16:23:53.781  2162  2279 W System.err:    at libcore.io.Posix.sendtoBytes(Native Method)
08-16 16:23:53.781  2162  2279 W System.err:    at libcore.io.Posix.sendto(Posix.java:211)
08-16 16:23:53.781  2162  2279 W System.err:    at libcore.io.BlockGuardOs.sendto(BlockGuardOs.java:278)
08-16 16:23:53.781  2162  2279 W System.err:    at libcore.io.IoBridge.sendto(IoBridge.java:509)
08-16 16:23:53.781  2162  2279 W System.err:    ... 6 more
08-16 16:23:53.781  2162  2279 E RadioUdpSocket: IComUdpClient: sendto failed: EINVAL (Invalid argument)
08-16 16:23:54.581  2162  2257 I Process : Sending signal. PID: 2162 SIG: 9
08-16 16:23:54.771  2350  4398 W AudioFlinger: session id 233 not found for pid 2162
08-16 16:23:54.771  3027  4224 D ActivityManager: removeProcessNameLocked mProcessNames.remove pid=2162 ,hash=59484991 ,name=com.bg7yoz.ft8cn
08-16 16:23:54.771  3027  4224 I ActivityManager: Process com.bg7yoz.ft8cn (pid 2162)(adj 9) has died(102,538)
08-16 16:23:54.771  3027  4224 D ActivityManager: cleanUpApplicationRecord -- 2162```
bg7yoz commented 10 months ago

hi, HB9TXB Branko

感谢收到您的反馈。已经与xiegu方面做了沟通,已经开始做x6100最新版本(1.1.7)的适配工作了,此问题将在0.91版中解决。

73! bg7yoz

bg7yoz commented 10 months ago

hi, HB9TXB Branko

感谢收到您的反馈。已经与xiegu方面做了沟通,已经开始做x6100最新版本(1.1.7)的适配工作了,此问题将在0.91版中解决。

73! bg7yoz

djbr1 commented 10 months ago

Release 0.91 connects to X6100 over WLAN (WFview server on x6100). Thanks for fix

bg7yoz commented 10 months ago

hi, @djbr1

0.91并没有完全解决x6100的WLAN,目前的问题是:发射功率为0。

推测问题可能在WFServer和X6100之间的配合上,理由:

1.发射时,附近的电台可以正确收到x6100发射的信号,只是信号强度很弱。

2.发射时,在x6100的频谱图上能看到发射出的信号。

通过以上现象说明,FT8CN已经能够把音频数据发送给wfServer,并且wfServer能够解析出正确的声音并播放,只是不知道是什么原因,没有让x6100以足够的功率发射。此问题向XIEGU反应,wfServer是wfView团队开发的,可能需要wfView的团队参与才能解决。

73

bg7yoz

djbr1 commented 9 months ago

I managed to have WSJT transmit audio through WFview on laptop using WFserver on x6100 by tweaking alsamixer (Change from DAC to Mixer and increase Volume of Mic1 Boost) amixer -c 0 set 'Headphone Source' 'Mixer' amixer -c 0 set 'Mic1 Boost' 24db This can also be done from alsamixer This tweak allows WSJT or JTDX to transmit through WFview and WFserver alsamixer wsjt  over wfview

bg7yoz commented 9 months ago

hello,@djbr1

谢谢您提供的信息,我会按照您提供的信息排查问题。

希望您进一步提供信息:

1.使用WSJT时,X6100的操作模式时什么?是不是U-DIG模式?

2.PC与X6100是否只是通过网络连接,而没有其他的线路与x6100相连接?

3.WSJT在发射时,PC的喇叭是否处于播放的状态?如果pc的喇叭也播放音频,能否静音喇叭试试?

thanks!

bg7yoz

djbr1 commented 9 months ago

Hello @bg7yoz

1) when operating WSJT from macbook through WFview mode is USB !
When U-DIG mode is selected, then power is low, and alsamixer has no effect 2) laptop is connected to x6100 only through WLAN, there are no other device connections (wired or wireless). There is only SSH to x6100 command line. 3) No, I do not hear laptop speakers playing

bg7yoz commented 9 months ago

好的,@djbr1

您提供的信息也许有助于解决发射无功率的问题(排除了是否是操作模式不正确的问题,wlan模式必须使用U-DIG模式)。

我已经把您的信息反馈给XIEGU了。

谢谢!

bg7yoz

bg7yoz commented 8 months ago

hello, @djbr1

关于XIEGU X6100在FT8CN使用网络模式无发射音频的问题,已经查到了问题的原因了: 是X6100固件的一个bug:在L-DIG和U-DIG模式切换时,音频路径选择出了问题。 这个bug已经反映给XIEGU,XIEGU已经针对这个问题做了改正。相信在XIEGU新的固件发布后,会解决此问题。

73!

bg7yoz