Update:
I manage to sort out the issue but yet I couldn't be able to fix it,
Here is what actually happens when I run the above commands,
gpsctl:INFO: startup at 2013-12-26T13:16:50.000Z (1388063810)
gpsctl:PROG: initialization passed.
gpsctl:PROG: no etc/gpsd/device-hook present, skipped running ACTIVATE hook
gpsctl:INFO: opening GPS data source type 3 at '/dev/ttyUSB0'
gpsctl:INFO: speed 9600, 8N1
gpsctl:PROG: Probing "Garmin USB binary" driver...
gpsctl:INFO: attempting USB device enumeration.
gpsctl:INFO: 0424:9512 (bus 1, device 2)
gpsctl:INFO: 1d6b:0002 (bus 1, device 1)
gpsctl:INFO: 0424:ec00 (bus 1, device 3)
gpsctl:INFO: 0cf3:9271 (bus 1, device 4)
gpsctl:INFO: 067b:2303 (bus 1, device 5)
gpsctl:SHOUT: vendor/product match with 091e:0003 not found
gpsctl:PROG: Probe not found "Garmin USB binary" driver...
gpsctl:PROG: Probing "GeoStar binary" driver...
gpsctl:PROG: Probe not found "GeoStar binary" driver...
gpsctl:PROG: Probing "Trimble TSIP" driver...
gpsctl:INFO: speed 9600, 8O1
gpsctl:INFO: speed 9600, 8N1
gpsctl:PROG: Probe not found "Trimble TSIP" driver...
gpsctl:PROG: no probe matched...
gpsctl:INFO: gpsd_activate(): activated GPS (fd 3)
gpsctl:DATA: packet mask = {}
gpsctl:DATA: packet mask = {}
gpsctl:DATA: packet mask = {}
gpsctl:ERROR: packet recognition timed out.
The gpsctl tries to recognize the type of GPs that I have connected, but it couldn't be able to find it out. But Sometimes it does manage to find out the type (which is "SiRF binary") and at that time it successfully converts into NMEA mode.
Also, the gpsctl command is trying to set the baud rate to 9600, but the correct baud rate is 4800.
I don't know why it is not able to recognize the type of device and the baud rate.
from this page,
http://www.catb.org/gpsd/gpsctl.html I have found out that i can force the device type using -t So I tried this,
gpsctl -n -f -t "SirF binary" -D 4 /dev/ttyUSB0
but still getting the same response with one extra line in the output,
gpsctl:ERROR: no driver type name matches 'SirF binary'.
as i mentioned above that sometimes it successfuly recognizes the device type (which is SiRF binary) and baud rate (which is 4800), in such cases of success it converts the mode to NMEA
I have also tried forcing the baud rate to 4800 but it didn't work either.
Is there any way to set the driver to SirF binary and baud rate to 4800 by default by modifying some sort of files in the Linux ?