QGroundControl won't pick up every message, anyone know how to fix it?

I have been trying to inject raw UBX data which I gather from UBXReader library into my Pixhawk. For this, I use a GPS module to extract UBX data and a serial to USB converter to stream data into my Pixhawk. Here is what my setup looks like:

I can see GPS Data through gpsmon but on MAVLink, HDOP and VDOP values wont show. I tried to send raw gps data which I collect through other usb port and I also tried sending artificial UBX and NMEA data but I still got no chance. Only lat/lon/alt/timestamp/satellites_used/fix type but not the rest. How should I fix this? Thanks.