Joystick input via UDP

Case 1: A wifi module publishes mavlink messages from pixhawk4’s telem1 port. An Android phone connects to this WiFi and runs the qgc software. The Sony PX4 joystick connect with phone via BT. The drone can be successfully controlled.
Case 2: An onboard computer connects to pixhawk4 via usb and publishes mavlink messages via mavros. An Android phone (or laptop) is connected in the same network domain as the on-board computer and runs the qgc software. Joystick connect with the phone(laptop) via BT. However, I can armd the drone via joystick’s key, but i cannot control the drone via joystick’s axes and the qgc will inform me that there is no joystick input.
So my question is how do I use joystick to control the drone in the case 2 scenario, i.e. how do I publish rc messages with qgc connected to pixhawk via udp?