А символ перевода строки в конце передается?
Кстати, логин и пароль по первой ссылке не принимаются

Так что запрос по первой строке точно не пройдет.
Ну и по делу: если в модеме есть HTTP клиент и можно передавать URL, тогда нужно передавать первую строку с правильным login/password.
Если модем просто обеспечивает TCP соединение, то как минимум нужно сказать:
Код
GET /input.php?User=demo&Pass=demo&Valid=Y&Description=Test&Lon=23.00&Lat=22.00&Speed=55.12 HTTP/1.0\n
Host: gps.ndd.ru\n\n
\n - перевод строки (0d 0a)
В конце запроса два перевода строки (0d 0a 0d 0a). Без этого сервер не поймет, что запрос завершен.
Если не сказать, что за хост, сервер не поймет, к какому сайту идет обращение.
Говорить GET /home/ndd/gps/html/ - не правильно, хотя бы потому, что клиент не должен делать никаких предположений о структуре каталогов выше "/" виртуального хоста.