Psion 5mx e entretenimento de hardware com Linux



Muitos de vocês conhecem o lendário PDA Psion 5mx. Ele era extremamente popular e era o sonho de muitos geeks da época. PDA com teclado de bolso, cabe facilmente no seu bolso. Alimentado por duas baterias do tipo dedo, um botão está completamente desenergizado. Tem CF a bordo (e na minha prática eu poderia facilmente digerir volumes de 8 GB!). Uma máquina à frente de seu tempo.



Certa vez, muitos anos atrás, fiz uma série de experimentos: instalei o linux nesta máquina, invertei um pouco o hardware e tentei trazê-lo para as pessoas na Internet. Algumas delas tiveram sucesso, outras não. Neste artigo, contarei tudo como é. O post vai ser geek, mas um pouco bagunçado porque foi assim que me meti neste pedaço de ferro.



"Você se lembra como tudo começou" ...





Há algum tempo, eu tinha simultaneamente dois dispositivos incríveis, lendas de PDAs de teclado: Psion 5MX e Jornada 720 . Não há nada a dizer sobre Jornada, embora este PDA seja digno de um monumento, mas descreverei neste post sobre o amor com o lendário Zyshsht (não é um erro de digitação, não preciso escrever sobre isso). Deixe-me lembrá-lo dos parâmetros deste PDA (obrigadof15)



Processador: ARM710T 36 MHz

RAM: 16 MB (32 MB no modelo 5mx Pro)

Slot de expansão: Compact Flash (até 2 GB não é verdadeiro, 8 eats)

Portas: RS232,

Tela IrDA : 640x240, 16 tons de cinza, 133x50 mm

Som: microfone embutido, alto-falante monaural

Dimensões: 170x90x23 mm

Peso: 354 gramas com baterias


Não vou descrever como ele é um PDA incrível, quais são seus recursos, etc. Aqui está um post lindo " O melhor teclado PDA do mundo " e lá você pode ler em detalhes sobre o próprio hardware.



Para mim, pessoalmente, o sistema operacional padrão não era de muito interesse. Joguei com vários programas, por isso eles queriam dinheiro, e cuspi em toda essa desgraça. Aqui está uma seleção de software sobre o assunto e o site www.mypsion.rucontinua vivo! Eu estava realmente interessado em como o Linux funciona neste PDA. Observe seus parâmetros: ARM7 36 MHz (trinta e seis!), 16 MB de RAM. A menos que não sejamos limitados em espaço no disco rígido (olhando adiante, direi que tinha 4 GB do disco rígido principal e 4 GB para os repositórios). Este é apenas o kit de inicialização mínimo, e qual Linux funciona lá? Acredite ou não, um Debian completo!





Tudo começou com este post , ondeHurrTheDurrescreveu código e gerou microcontroladores AVR a partir de um PDA. Sim, isso é exagero, mas que legal!



Uma das características e problemas deste PDA é que a única interface de comunicação com o mundo exterior era a UART. Sim, o IrDA também é declarado lá, mas na verdade e esquematicamente era a mesma interface que foi comutada com um bit. As portas IrDA e COM não funcionaram ao mesmo tempo. Esse é o principal gargalo que me deu muitos truques sujos. Aqui está um diagrama da folha de dados por processador. Na verdade, a folha de dados é um circuito Psion 5 MX.





Como você pode ver na documentação, RS-232 e IrDA são a mesma interface UART.



ARM7100 also contains a IrDA (Infra-red data association) SiR protocol encoder. Optionally, this encoder can be switched in to the Tx and Rx signals so they can be used to drive an infra-red interface directly. For more details on the IrDA SiR protocol, see the appropriate document detailing this protocol standard. If the SiR protocol encoder is enabled, the UART Tx line is held in the passive state and transitions of the modem status or the Rx line will have no effect.


Não é à toa que estou focando nisso, qualquer instalação do pacote se transformou em uma missão.



Antes de prosseguirmos, no processo de experimentos, obtive duas máquinas Psion 5mx para experimentos: uma não funcionou na porta COM (provavelmente queimada no nível do processador), mas o IrDA funcionou de alguma forma e a interface do cartão CF funcionou, a outra tudo funcionou, exceto a interface CF (portanto, não era adequado para experimentos com Linux). Mais tarde também ganhei uma variação da placa-mãe da Psion Ericsson, que não rodava Linux na placa. Resumindo, eu nunca tive um PDA totalmente funcional em minhas mãos, então foi uma espécie de busca de dor e humilhação.



Como colocar o linux nessa migalha?



É incrível que você normalmente passe por milhares de links quebrados em um hardware antigo. Mas ainda hoje, todos os links funcionam, e é bem possível percorrer todo esse caminho Jedi, se houver ferro. O próprio linux da Psion mora aqui . Também existe um manual de instalação detalhado.



Resumindo, um CF de 256 MB é o mínimo necessário para a instalação. Mas, pessoalmente, eu recomendo pegar um pen drive para 8 GB, 4 dos quais devem ser reservados para repositórios. Para carregá-lo, Arlo é iniciado - este é o bootloader que está instalado na partição DOS. Todos os arquivos estão aqui .





O mesmo flash drive com a imagem do linux



Inicialmente, após instalar o Linux, você tenta instalar o pacote. Mas você não tem acesso à Internet, não, de forma alguma. E então você faz o download do pacote manualmente, satisfaz as dependências, cada vez retirando o CF e reescrevendo o pacote necessário que você baixa do site (infelizmente, os pacotes Debian morreram, mas espero que você possa baixá-los em algum lugar).



Como resultado, eu surtei, dividi o flash drive em duas seções (mais precisamente, em três, na primeira seção dos, para o bootloader). E na segunda seção fiz um repositório local. E 4 GB de todos os pacotes possíveis cabem perfeitamente.



Como resultado, você pode até instalar o gcc e escrever seus programas lentamente.





Psion de ferro de engenharia reversa



Para aqueles que, como eu, decidem fazer a engenharia reversa do psion, existem vários recursos úteis. O principal é, claro, o Manual de Serviço . Um documento extremamente útil para desmontagem e operação.



Acontece que a luz de fundo deste Psion estava praticamente morta. E pensei nas formas de substituí-lo. Existe um papel eletroluminescente na China, do qual você pode fazer uma luz de fundo pronta. Para isso, decidi inverter o circuito de alimentação da luz de fundo. Existe um grande projeto do nosso compatriota que inverteu o Psion Revo (esta é uma versão mais barata do Psion, na minha opinião, mesmo sem CF). E ele tem um site , surpreendentemente ao vivo. Lá ele aumentou a quantidade de RAM, sinais invertidos, etc. E eu peguei seu manualno verso da placa-mãe. De qualquer forma, recomendo que você se familiarize com todas as pessoas que não são indiferentes à glândula. O mais interessante para mim foi a placa de conexão do LCD. Chamo sua atenção para o fato de que tenho uma modificação um pouco diferente, mas a informação acabou sendo útil para mim.





Estou interessado nos sinais que não são usados ​​nesta modificação do Psion. Para isso, analisamos Psion.





Desmontamos nosso Psion 5 MX e podemos ver a placa-mãe por dentro.







Curiosamente, áreas livres para RAM e uma unidade flash em vez de ROM. Essa. hipoteticamente, você pode escrever seu sistema operacional para a localização do eixo. Se você olhar para os guias, a tela está se espalhando como um sanduíche. E há apenas um loop na tela.





Existem dois trens, mas um é surdo. E a tela é feita em monobloco. E por outro lado, é assim:





A parte de trás da tela no estágio terminal de desmontagem





Tela interna



Na placa-mãe você pode ver um monte, apenas toneladas de pads de teste. Mas por falta de tempo, ele os deixou ligando para outros amantes da antiguidade. Estou cem por cento certo de que existem pinos PIO livres que podem ser usados. Mas decidi focar no problema de destaque e revertê-lo.

Em geral, com a luz de fundo, a essência é a seguinte, já dei uma placa com o reverso do Reva. E tinha um conector de display igual ao do Psion 5 mx, e nesta placa não havia informações sobre os contatos de backlight (o rugido não tem backlight). Olhando ao redor da placa, encontramos o microcircuito HV823 próximo ao conector, um toque superficial deu o resultado que uma perna (26) vai diretamente para ele. Folha de dados do Google para este microcircuito. E opa, acontece que este microcircuito é apenas responsável pela luz de fundo. De acordo com os resistores de divisão instalados, muito provavelmente o diagrama de conexão é o seguinte:





Com mais discagem, o circuito coincidiu completamente (não há nada para medir a indutância e capacidade), fica assim:





Vamos verificar tudo com instrumentos.





A amplitude era de 65 V, mas não foi possível sincronizar a imagem no osciloscópio, então tirei os valores já da foto:





Oscilograma 10 V / div, 1 ms / div



A frequência saiu 250 Hz, o que me confundiu. Resolvi verificar com um frequencímetro (bem, nunca se sabe, não acredito no que vejo). Como resultado, estes são os valores da lâmpada quente:





O valor em uma exibição de lâmpada quente é em kHz e é igual a 252 Hz.



A diferença da ficha técnica pode ser explicada pelo fato de que pode haver alguns outros parâmetros do circuito, ou uma capacidade muito grande dos fios, e as frequências flutuaram.



A tabela resultante tem a seguinte aparência:





Resumindo, as configurações de luz de fundo são 65V a 250Hz.



Depois disso, comecei a procurar na China um painel EL com o tamanho 144x62 mm, com esses parâmetros de potência. O engraçado é que o custo desses painéis é de cerca de 1.500 a 1.800 rublos (se você levar A4 para cortar), e fazer o pedido na China não é muito mais barato, por incrível que pareça.



Mas o destino decretou o contrário, e eu ganhei uma nova luz de fundo e outra placa-mãe da Psion Ericsson MC 218 .





Nova placa-mãe e iluminação.



Com um movimento da mão, Psion se transforma em Ericsson



Seria um pecado não tentar trocar a placa-mãe de um PDA para outro. Além disso, externamente eles não podiam ser distinguidos. Esta é uma placa-mãe do Ericsson MC 218 PDA . Pelo que entendi, este é apenas algum tipo de modificação de firmware, mas na verdade é o mesmo Psion (mas não o mesmo).





Duas placas-mãe. Adivinhe onde.



Acima de tudo, tinha medo de esquecer onde ficava a placa-mãe. Como duas gotas, mas a diferença está no formato dos botões. O resto é uma coincidência completa. Ela se levantou como uma luva. Primeiro lançamento com mãos trêmulas:





Oh meu Deus! Curiosamente, os potes funcionam?



Após o download final, tudo fica assim:





Fiz uma aposta muito grande nesta placa-mãe, já que há um conector CF normal e uma porta COM funcionando, em geral será uma felicidade. Mas, infelizmente ... Acontece que o sistema não vê grandes portadoras de CF. Nem 2, nem 4, nem 8 GB :(. Tive que mudar minha mãe de volta. Tive até a ideia de passar a ROM de uma placa-mãe para outra, mas não houve experiência. E hoje não há PDA para experimentos.

Deixe-me explicar por que era importante ver CFs grandes: O Linux só funcionou para eles.



Vamos online



Como você se lembra, na verdade eu tinha o único dispositivo com Linux a bordo, mas nem mesmo a porta COM funcionava para isso. Eu até consegui soldar o talabarte da porta COM (de acordo com este esquema ), mas não funcionou com este modelo em particular. Provavelmente, foi o pino do processador que não funcionou lá.





Talabarte self-made para Psion 5MX



Além disso, ao discar, descobriu-se que apenas uma linha TX não estava funcionando. Ou seja, pode receber dados, mas não devolvê-los. Tive que procurar outras opções.



Para isso, comecei a lidar com IrDA. Inicialmente tentei este tipo de IrDA.





Mas no Linux em um PC, trabalhar com essa porta infravermelha era uma verdadeira dor e humilhação. Em geral, o subsistema IrDA para Linux foi escrito por viciados em butirato, e era absolutamente impossível entender como usá-lo sem substâncias, e parece que não foi concluído e foi simplesmente abandonado como desnecessário.



Então comecei a procurar outras opções. Consegui encontrar uma porta de infravermelho muito incomum, que basicamente fazia o UART sobre o canal de infravermelho, sem grandes problemas, que eu precisava e precisava. Havia apenas dois microcircuitos: FT232BM (USB-COM) e MCP2120.





Pepelats incríveis, quase caseiros no LUT, mas acabou sendo uma solução completa. Ele também teve que ser revertido e descoberto o que havia de errado com ele e a que velocidade ele funciona. Descobriu-se que ele só pode funcionar em 9600.





Ou seja, na verdade parecia trabalhar com UART, e do lado do Psion PDA no Linux, também trabalhei com UART (apenas IrDA), e sim, até funcionou!





E sim, não superestável (mexi um pouco e pronto), mas ainda funcionou! Também foi necessário definir o DTR e o RTS corretamente para esta parte, mas eu o fiz.





Como resultado, obtivemos a conexão de modem nulo como está. E lembro que passei mais algumas semanas lendo os manuais para levar a conexão de modem nulo às pessoas. E criei uma conexão ppp usando, na minha opinião, o programa wvdial (não me lembro exatamente),HurrTheDurrVocê responderia? Bem, o que importa é que essa coisa, que nem sabia o que era Internet, entrou nela!





Desculpem a foto com sabão ... A



frieza da foto acima está fora da escala. Em seguida, fizemos um bate-papo jabber comHurrTheDurr (ambos com Psion 5 mx) e regozijou-se com o sucesso.



Como isso acabou?



Pison é uma coisa muito legal, mas de alguma forma foi estranho trazê-lo para a Internet usando um computador com um poder superior. E há muito tempo que procuro poder gerá-lo usando o esp8266. E até no hackaday conheci um projeto tão interessante . O problema é que não está claro como fazer o esp8266 funcionar como uma conexão de modem ppp. Estava procurando muitos projetos que pudessem implementar isso, mas não encontrei. Então ele cuspiu nesta aventura. Como resultado, em um ataque de tristeza, distribuí todas as minhas peças de hardware de graça e nunca mais voltei a essa questão ...



Embora, honestamente, estou me perguntando como trazer o dispositivo para wi-fi por meio da porta COM, de modo que a solução de tamanho caberia diretamente no gabinete Psion. Embora certamente haja idéias (por exemplo , cartão SD-WIFI ).



Se falarmos sobre linux para Psion, então o projeto é rudimentar, e em algum lugar até com bugs. Mas ele era um trabalhador, e poderia até ser usado, com a paciência adequada (a 36 MHz, é preciso ter muita paciência forte). Resumindo, se você quer se divertir como um geek, você sabe o que fazer.



Links úteis no tópico:








All Articles