Olen yrittänyt löytää ohjelmaa joka toimisi 64 bittisellä Win 7:lla, mutten löydä sellaista mistään. Kokeilin 32 bittistä ohjelmaa yhtensopivuustilassa, mutta se ei tunnistanut laskinta. Tietääkö joku jonkun 64 bittiä tukevan ohjelman tehtävään?
Miten tungetaan dataa suoraan USBiin? Toimisiko se?
Riippuu aika paljon millaisena laite näkyy. Jos se näkyy sarjaporttina, HID-laitteena tai massamuistina niin sille on aika helppo tunkea dataa. Muussa tapauksessa täytyy kirjoittaa oma laiteajuri.
Laskin näkyy tunnistamattomana laitteena. Ei ajuria. Miten tuollainen laiteajuri tehdään? Tarvitseeko vai voinko syöttää USBiin dataa suoraan ASM Perl tms.
EDIT: olinpa tyhmä, teen pythonin serial kirjastolla
Katso mitkä laitteen Vendor Id ja Product Id on (VID ja PID, löytyy laitehallinnasta tuntemattoman laitteen tiedoista) ja googleta löytyykö sille 64-bittistä ajuria.
Asiasta mitään tietämättä väitän että Pythonin serial kirjastolla ei tehdä USB-laiteajureita.
Jos olet vakavissasi tekemässä laiteajureita, niin tuolta löytyy tarvittava:
http://www.microsoft.com/whdc/devtools/wdk/
Lisäksi tarvitse tarkat tiedot USB-laitteen valmistajalta. Yleensähän noita laiteajureita tekevät laitevalmistajat sisäisesti.
Laskin osaa lukea dataa niin ei se vaikeaa ole. Toimiiko
write("tiedoston nimi ja osoite")
?
Et selvästikään hahmota mikä laiteajurin tehtävä on.
Se toimii välittäjäkerroksena laitteiden ja ohjelmien välillä. Nyt sinulla on laite (laskin) ja esimerkiksi pythonilla toimiva ohjelma, mutta ei mitään siinä välissä joka välittäisi tietoja näiden välillä.
Vähän sama kuin yrittäisit jutustella kaverin kanssa niin että sinä olet täällä ja kaveri Kiinassa eikä teillä ole puhelinta tai mitään vastaavaa.
Väännän nyt vielä enemmän rautalangasta: Pythonilla tai millään muullakaan kielellä ei voi käyttää laitetta, joka näkyy laitehallinnassa tunnistamattomana.
Tarkoitus ei ole välittää ja keskustella vaan tunkea voimalla USBiin dataa.
Selvä, onnea vaan sitten matkaan :D Aika voimalla saatkin Suomessa huutaa, että Kiinassa oleva kaverisi sen kuulee...
Sitä voimaa nimenomaan ei "Userlandissa" ole riittävästi.
Toki jos kehität jostain laiteajurin joka mahdollistaa sen voimalla tunkemisen, niin sitten. Mutta ilman mitään laiteajuria kaikki yrityksesi johtavat ilmoitukseen: "Ohjelma on suorittanut laittoman toiminnon ja se lopetetaan."
import serial tiedosto = open('D:/259-6-tetris.g1r', 'r') ser = serial.Serial("COM1", 9600) ser.write(tiedosto.read())
Toimii mutta palauttaa 2124L ja toisella kerralla 0. Ei tosin saatu laskimella vastaan. Mitä tapahtui?
Jokotai kirjoitti:
Mitä tapahtui?
Kirjoitit COM1 porttiin tuon tiedoston. Laskimesi on kytketty USB-porttiin eikä COM-porttiin.
Kyllähän Com-portteihin voi dataa lähettää vaikkei siellä mitään laitetta olisi vastaanottamassa.
Sinänsä viihdyttävää seurata tätä vaikka et nähtävästi ihan suomea ymmärräkään.
Grez kirjoitti:
Jokotai kirjoitti:
Mitä tapahtui?
Kirjoitit COM1 porttiin tuon tiedoston. Laskimesi on kytketty USB-porttiin eikä COM-porttiin.
Kyllähän Com-portteihin voi dataa lähettää vaikkei siellä mitään laitetta olisi vastaanottamassa.
Sinänsä viihdyttävää seurata tätä vaikka et nähtävästi ihan suomea ymmärräkään.
Joo, taidan lopettaa tältä yöltä koodaamisen. Räjähtää kohta Pentagonkin.
Uteliaisuuttani googlettelin vähän aiheesta; onko tuo tuttu? http://sourceforge.net/projects/xfer9860/
Grez kirjoitti:
Sinänsä viihdyttävää seurata tätä vaikka et nähtävästi ihan suomea ymmärräkään.
Johtuisikohan osittain siitäkin, että kertomasi pitää vain osittain paikkansa.
Grez kirjoitti:
Toki jos kehität jostain laiteajurin joka mahdollistaa sen voimalla tunkemisen, niin sitten.
Virtuaalisen com portin ajuri hoitaa jo tuon puolen. Voimalla änkeemiseen ei sen kummempaa tarvita. Eri asia sitten ymmärtääkö laskin tuosta voimalla tunkemisesta mitään.
Jokotai kirjoitti:
Mitä tapahtui?
Mihin com1 osoittaa? Oletko mapannut sen virtuaalisella com portin ajurilla usbilaitteeseesi?
Onko kommunikaatioprotokolla ja -parametrit samat, kuin mitä laitteesi käyttää?
Torgo kirjoitti:
Johtuisikohan osittain siitäkin, että kertomasi pitää vain osittain paikkansa.
Pystynet kertomaan missä kohdassa olen kertonut osatotuuksia?
Torgo kirjoitti:
Grez kirjoitti:
Toki jos kehität jostain laiteajurin joka mahdollistaa sen voimalla tunkemisen, niin sitten.
Virtuaalisen com portin ajuri hoitaa jo tuon puolen. Voimalla änkeemiseen ei sen kummempaa tarvita. Eri asia sitten ymmärtääkö laskin tuosta voimalla tunkemisesta mitään.
Virtuaalinen COM-portin ajuri on nimenomaan laiteajuri. Kolmannessa vietissä kerroin, että jos tällainen on käytettävissä, niin laskimen kanssa kommunikointi on helppoa.
Neljännessä viestissä jokotai kertoo, että "Laskin näkyy tunnistamattomana laitteena. Ei ajuria."
Viidennessä viestissä kerroin, että kannattaisi yrittää etsiä VID/PID -parilla netistä jotain ajuria laitteelle. Tämän nähdäkseni Jokotai jätti huomiotta ja keskittyi ilman ajuria epäolennaisiin asioihin.
Eli mielestäni hyvin selvästi käy ilmi, että laitteelle ei ole asennettu mitään ajuria, jollainen olisi esim USB-sarjaportin ajuri.
Väitän edelleen, että niin kauan kun laskin näkyy laitehallinnassa tunnistamattomana laitteena, niin sen kanssa ei mikään käyttäjämaan ohjelma pysty kommunikoimaan.
Grez kirjoitti:
Väitän edelleen, että niin kauan kun laskin näkyy laitehallinnassa tunnistamattomana laitteena, niin sen kanssa ei mikään käyttäjämaan ohjelma pysty kommunikoimaan.
Juu, tämä on aivan totta. Sorry, en lukenut kaikkia viestejä alusta asti, vaan tein oletuksen tuosta com-koodipätkästä, että Jokotai olisi mapannut com1:n usbiin vcp ajurin tai vastaavan avulla.
Osatotuuksilla tarkoitin sitä, että viestistäsi sai sellaisen kuvan, ettei com1:een kirjoittamalla ole mahdollista lähettää usb-laitteelle tavaraa. Se on mahdollista nimenomaan ajurien avulla ja kuten edellä mainitsin, niin tein liian pitkälle menevän johtopäätöksen, että kyseinen ajuri olisi asennettu.
En ole Win 7:aa ikinä käyttänyt, mutta periaatteessa pitäisi onnistua, jos lataat vcp ajurit, valkkaat laitehallista tuntemattoman laitteesi ja asennat sille kyseisen ajurin.
Blaze kirjoitti:
Uteliaisuuttani googlettelin vähän aiheesta; onko tuo tuttu? http://sourceforge.net/projects/xfer9860/
Ei. En tosin osaa mitään sconssailua.
Luovutan. Mistä saa halvalla SD kortin luku/kirjoitus laitteita?
Ton halvemmaksi ei taida kyllä enään mennä. Kiitos avusta kaikille.
Aihe on jo aika vanha, joten et voi enää vastata siihen.