Portál AbcLinuxu, 1. května 2025 01:29

Jak stahovat j2me aplikace do telefonu Samsung

18.6.2007 18:51 | Přečteno: 9645× | Linux | poslední úprava: 3.7.2007 21:15

Na uvod

Jsem pomerne novym majitelem telefonu Samsung E250V (od Vodafone, k pausalu). Za svoji cenu toho nabizi pomerne hodne, ale o tom psat nebudu a nechci. Trapila me jedna vec, stahovani java her a aplikaci.

Od vyrobce je to totiz sikovne zablokovano jen na WAP, cili pomerne draha a nesikovna zalezitost. Postupne jsem na netu nasel par navodu, z nichz jsem pochopil, ze to jde i jinak. Bohuzel navody byly vyhradne pro Windows a jeste s pouzitim komercnich nastroju.

Googlenim jsem k nicemu nedospel, dany navod se vyskytoval na hodne forech. Jedine o cem se tam ale diskutovalo byla neschopnost urcitych jedincu postupovat krok za krokem, dusledkem cehoz jim postup nefungoval. Zajimal jsem se, zda existuje nejaky zpusob, jak stahovat hry do telefonu pod Linuxem ale to byla proste mission impossible. Rekl jsem si, ze to zkusim jinak a vysledkem je tento navod.

Jak tedy na to?

Hned na zacatek si muzeme rict, ze k uspesnemu stahovani potrebujeme tyto zalezitosti:

Postup

Projdeme si nyni postupne jednotlive kroky, na konci by se vam melo poradit stahnout aplikaci do telefonu. Jen poznamku, pokud se vam po stahovani telefon restartuje, asi aplikace nebyla vhodna pro Samsung. Defaultni chovani je to, ze hned po stazeni telefon aplikaci spusti. Pokud neuspeje, nasleduje reset. K resetu dojde i napr. pokud se pokusite nahodit PPP nad nebezici seriovou linkou a podobne. Opravdu je tedy nutno postupovat presne dle navodu a nelze zadny krok preskocit. Na poradi zalezi!!!

Bluetooth seriova linka

Nejprve musime obstarat vlastni spojeni s telefonem. Pouzivam Bluetooth dongle od Soleda v cene asi 200,- Kc. Prenos nebezi moc rychle ale funguje a za tu cenu se proste vyplati. K jeho zprovozneni potrebujeme jednak zapnout Bluetooth v jadre (v sekci Networking) a pak nainstalovat balicek bluez-utils.

Zkusime najit telefon pomoci hcitool scan. Opiseme si MAC adresu telefonu (ja budu vzdy psat XX:XX:XX:XX:XX:XX) a nastavime konfigurak v /etc/bluetooth/rfcomm.conf
rfcomm0 {
        # Automatically bind the device at startup
        bind yes;

        # Bluetooth address of the device
        device XX:XX:XX:XX:XX:XX;

        # RFCOMM channel for the connection
        channel 2;

        # Description of the connection
        comment "Samsung E250V";
}

Toto by melo automaticky spojit telefon a umistit odkaz do /dev/rfcomm0. Osobne to ale spoustim z prikazove radky pouzitim rfcomm bind 0 XX:XX:XX:XX:XX:XX 2. Mozna jeste nastavime pin v /etc/bluetooth/pin, abychom se mohli bez problemu sparovat. Spravnost nahozeni seriove linky overime napr. pomoci nastroje gsmctl z balicku gsblib. Vyvolanim gsmctl ME -d /dev/rfcomm0 by se nam mely vypsat zakladni udaje o telefonu.

PPP

Dalsi podminkou je bezici PPP spojeni mezi telefonem a PC. Pouzijeme ppp demon, opet pouzivam primo prikazovou radku.

pppd /dev/rfcomm0 nodetach local debug lock 192.168.1.1:192.168.1.2 mtu 270

Kdyz se to spusti s temito parametry, tak demon zustane bezet v popredi a muzete si tak zkontrolovat, zda nedoslo k nejakemu problemu pri navazovani spojeni. Spojeni ale musi iniciovat telefon, jak ho tedy k tomu primet?

Na klavesnici telefonu vytukejte *#JAVATEST#. Dostanete se do servisniho menu. Zmente nosnou technologii na seriovou linku -> OTA type setting, Serial bearer OTA. Toto staci provest jen jednou, potom spustte onen ppp demon a prejdete do menu Serial test -> PPP UP -> Bluetooth. Timto se navaze PPP spojeni telefonu s PC. Vypis ze strany PPP demonu by mel vypadat zhruba takto:

Using interface ppp0
Connect: ppp0 <--> /dev/rfcomm0
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xa8183940> <pcomp> <accomp>]
rcvd [LCP ConfReq id=0x3 <asyncmap 0xa0000>]
sent [LCP ConfAck id=0x3 <asyncmap 0xa0000>]
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xa8183940> <pcomp> <accomp>]
rcvd [LCP ConfRej id=0x1 <magic 0xa8183940> <pcomp> <accomp>]
sent [LCP ConfReq id=0x2 <asyncmap 0x0>]
rcvd [LCP ConfNak id=0x2 <asyncmap 0xa0000>]
sent [LCP ConfReq id=0x3 <asyncmap 0xa0000>]
rcvd [LCP ConfAck id=0x3 <asyncmap 0xa0000>]
sent [CCP ConfReq id=0x1 <deflate 15> <deflate(old#) 15>]
sent [IPCP ConfReq id=0x1 <compress VJ 0f 01> <addr 192.168.1.1>]
rcvd [IPCP ConfReq id=0x1 <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns3 0.0.0.0>]
sent [IPCP ConfRej id=0x1 <ms-dns1 0.0.0.0> <ms-dns3 0.0.0.0>]
rcvd [LCP ProtRej id=0x4 80 fd 01 01 00 0c 1a 04 78 00 18 04 78 00]
Protocol-Reject for 'Compression Control Protocol' (0x80fd) received
rcvd [IPCP ConfRej id=0x1 <compress VJ 0f 01>]
sent [IPCP ConfReq id=0x2 <addr 192.168.1.1>]
rcvd [IPCP ConfReq id=0x3 <addr 0.0.0.0>]
sent [IPCP ConfNak id=0x3 <addr 192.168.1.2>]
rcvd [IPCP ConfAck id=0x2 <addr 192.168.1.1>]
rcvd [IPCP ConfReq id=0x5 <addr 192.168.1.2>]
sent [IPCP ConfAck id=0x5 <addr 192.168.1.2>]
Cannot determine ethernet address for proxy ARP
local  IP address 192.168.1.1
remote IP address 192.168.1.2
Script /etc/ppp/ip-up started (pid 8300)
Script /etc/ppp/ip-up finished (pid 8300), status = 0x1

Vidime, ze mame navazano spojeni, adresa tunelu na strane PC je 192.168.1.1, na strane telefonu 192.168.1.2. Funkcnost muzete overit pomoci ping 192.168.1.2, telefon by mel normalne odpovidat. Samozrejme adresy muzete libovolne zmenit, pokud vam zrovna tento rozsah s necim koliduje.

IPTables

To nad cim jsem dlouho badal a nakonec me i pekne zmatlo a resil jsem dneska dopoledne v poradne, bylo vlastni navazani spojeni pro stahovani j2me aplikace. Wiresharkem jsem zjistil, ze telefon sice posila SYN paket ale jako prijemce je urcen 127.0.0.1. Dlouho mi trvalo, nez mi doslo, ze telefon se snazi navazat spojeni sam se sebou (a ne s PC na mistni smycce). Kdyz jsem to zjistil, premyslel jsem, jak z toho ven. A resenim byl DNAT. Do IPTables je potreba pridat nasledujici pravidlo.
iptables -t nat -A PREROUTING -d 127.0.0.1 -p tcp -j DNAT --to-destination 192.168.1.1
Tim prinutime smerovat spojeni na nas pocitac, kde jiz muze poslouchat www server. V opacnem smeru neni potreba nic stavet, protoze routavaci tabulka nam odpoved nasmeruje spravne do PPP tunelu.

WWW server

Blizime se do finale :) Musime nastavit WWW server tak, aby poslouchal na portu 888 na adrese 192.168.1.1. Ja jsem zvolil thttpd, protoze nema cenu kvuli tomuto instalovat apache. Port staci upravit v souboru /etc/conf.d/thttpd.

V adresari /var/www/localhost je nutno vytvorit adresar test, dat prava k pristupu pro uzivatele nobody a do nej nahrat dva soubory: getNextApp.jad a vlastni .jar aplikace. Soubor getNextApp.jad je prejmenovany puvodni .jad dodany k aplikaci. Je to vlastne popisovac, ktery dale telefonu rekne, o jaky soubor ma pozadat. Vlastni stahovani zahajime opet z servisniho menu k telefonu, volbou Serial test -> seriove stahovani. Telefon pak navaze spojeni s WWW servem, stahne dany MIDLet a aplikaci spusti.

Zaverem

Pokud mate vsechno dobre nastaveno a aplikace se stahla, tak se vam srdecne blahopreji! Myslim ze pro vas opet o trochu stoupla hodnota tohoto jinak skvele vybaveneho lowendoveho telefonku :)

       

Hodnocení: 100 %

        špatnédobré        

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

18.6.2007 19:25 mrzout | skóre: 11 | blog: mrzutej
Rozbalit Rozbalit vše Re: Jak stahovat j2me aplikace do telefonu Samsung
Odpovědět | Sbalit | Link | Blokovat | Admin
Proto není nad mobil s USB mass storage :)

Spíš mi poraď jaké hry hraješ, aby nebyly jen placené verze ke stažení přes WAP. Já co našel se beztak jen připojovalo na net a o to ani trochu nestojím.
Hlasuj pro zavedení OpenID na Abclinuxu!
18.6.2007 19:28 moira | skóre: 30 | blog: nesmysly
Rozbalit Rozbalit vše Re: Jak stahovat j2me aplikace do telefonu Samsung
No on ten telefon samozrejme mass storage ma, ale neni videt slozka pro Java aplikace (protoze operator chce vydelavat :-P). Krome javy si do toho muzes stahovat co chces, uplne klasicky. Hry nehraju, pokousim se vyvinout aplikaci pro spolupraci s Bluetooth GPS modulem a tohle byla nutna podminka abych mohl vubec zacit.
Překladač ti nikdy neřekne: "budeme kamarádi"
andree avatar 19.6.2007 06:59 andree | skóre: 39 | blog: andreeeeelog
Rozbalit Rozbalit vše Re: Jak stahovat j2me aplikace do telefonu Samsung
skus TrekBuddy, alebo GPSka, alebo J2N ;-)
23.6.2007 13:12 CIJOML
Rozbalit Rozbalit vše Re: Jak stahovat j2me aplikace do telefonu Samsung
Jeste bych dodal navigami - to mi chodi se Samsungem D600E, TrekBuddy jen ve verzi 0.8.6, v posledni 0.9.56 ne-e...
andree avatar 19.6.2007 07:03 andree | skóre: 39 | blog: andreeeeelog
Rozbalit Rozbalit vše Re: Jak stahovat j2me aplikace do telefonu Samsung
nie... preto nie je nad PDA s poriadnym OS a bez obmedzeni ;-)
Pavel Stárek avatar 21.6.2007 11:06 Pavel Stárek | skóre: 44 | blog: Tady bloguju já :-) | Kolín
Rozbalit Rozbalit vše Re: Jak stahovat j2me aplikace do telefonu Samsung
Ne, už by ti naši operátoři a zlatokopové měli pochopit že prostě 0.5Kč za kilobajt WAPu je prostě neúměrně hodně, když k tomu přidám ještě cenu za obrázky a jiné pí*oviny tak sám osobně jsem si koupil jednu jedinou hru přes WAP, a když jsem dělal zálohu telefonu a posléze obnovu tak hra při spuštění napsala cosi o vypršení platnosti licence. Teď už jim nedám ani korunu a radši si zabrouzdám po nějakejch warezech a hry si stáhnu tam. Trošku mě štve že Gameloft a SUMEA (výrobci asi nejlepších her pro mobily) jdou už i po ruských stránkách. Jinak kupovat si vyzvánění a obrázky za ty jejich ceny (a ještě to stahovat WAPem) může jenom a) - idiot a b) - ten kdo má mraky peněz že neví co s nima.
Kdo chce, hledá způsob; kdo nechce, hledá důvod.
3.7.2007 20:39 CIJOML
Rozbalit Rozbalit vše Re: Jak stahovat j2me aplikace do telefonu Samsung
Odpovědět | Sbalit | Link | Blokovat | Admin
Muzes vlozit obrazovky na tom mobilu? Mam D600E a javatest u me nefunguje :(
3.7.2007 20:57 moira | skóre: 30 | blog: nesmysly
Rozbalit Rozbalit vše Re: Jak stahovat j2me aplikace do telefonu Samsung
Zkusim to nekdy nafotit. Mozna zkus kody #*536963# a pak #*5737425# misto *#52828378# (jakoze misto javatest). Pozor ty jine kody zacinaji #* a ne *#!
Překladač ti nikdy neřekne: "budeme kamarádi"
3.7.2007 23:52 CIJOML
Rozbalit Rozbalit vše Re: Jak stahovat j2me aplikace do telefonu Samsung
Pojd se presunout sem:

http://www.abclinuxu.cz/forum/show/184513

Je tam odkaz na overeny upload ve woknech, treba to tvoje je hodne podobne.
3.7.2007 21:16 moira | skóre: 30 | blog: nesmysly
Rozbalit Rozbalit vše Re: Jak stahovat j2me aplikace do telefonu Samsung
Odpovědět | Sbalit | Link | Blokovat | Admin
Ted jsem si vsimnul, ze jsem mel v zapisku chybu. Ten kod je *#JAVATEST# a ne #*JAVATEST#. Uz jsem to opravil, jen poznamka pro ty, kterym to mozna kvuli tomu neslo.
Překladač ti nikdy neřekne: "budeme kamarádi"
30.7.2007 16:59 Nepster
Rozbalit Rozbalit vše Re: Jak stahovat j2me aplikace do telefonu Samsung
Odpovědět | Sbalit | Link | Blokovat | Admin
a pro Windows by jsi to tu nemel??
30.7.2007 21:17 moira | skóre: 30 | blog: nesmysly
Rozbalit Rozbalit vše Re: Jak stahovat j2me aplikace do telefonu Samsung
Pro windows je navodu spousta, zkus hledat ;)
Překladač ti nikdy neřekne: "budeme kamarádi"
10.9.2007 12:09 Tomáš
Rozbalit Rozbalit vše Re: Jak stahovat j2me aplikace do telefonu Samsung
Odpovědět | Sbalit | Link | Blokovat | Admin
A nešlo by to přes USB kabel?
10.9.2007 12:17 moira | skóre: 30 | blog: nesmysly
Rozbalit Rozbalit vše Re: Jak stahovat j2me aplikace do telefonu Samsung
Asi ano, postup se bude nejspise lisit pri nahazovani PPP spojeni (je tam volba USB nebo Bluetooth).
Překladač ti nikdy neřekne: "budeme kamarádi"

Založit nové vláknoNahoru

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.