driver pra usb funcionar como serial

Discussão sobre linux para plataformas Intel x86 ou x64 (PC)

Moderadores: 51, guest2003, Renie, gpenga

driver pra usb funcionar como serial

Mensagempor Andremp » 09 Nov 2006 15:53

eu queria fazer um programa que recebe dados da serial, receber da usb como se ela fosse uma serial.
Sou leigo no linux e tenho um programa no windows com o delphi e devo porta-lo pro kylix, portanto só estou sondando a viabilidade, se posso conseguir.

No windows tem um driver fornecido pela microchip (AN956) que faz com que a USB seja entendida pelo sistema como se fosse uma serial (chamasse CDC o que ainda não testei pra ter certeza se consigo) eu queria algo do mesmo tipo pro linux. O programa le uma serial, que é na verdade uma usb emulada como serial pelo sistema.
Avatar do usuário
Andremp
Bit
 
Mensagens: 45
Registrado em: 13 Out 2006 13:37
Localização: Florianópolis

Mensagempor gibim » 13 Nov 2006 23:35

A Clone inc e a Leadership tem conversores USB->Serial, ambas usam um chip controlador chamado PL2303, e o driver pode ser encontrado na internet facilmente:

http://lxr.linux.no/source/drivers/usb/serial/pl2303.c
http://gimel.esc.cam.ac.uk/james/pl2303/index.html

O adaptador você encontra facilmente nas empresa de informática da sua região.

Funciona corretamente. É só compilar o Kernell com o novo driver que ele vira uma com virtual.

Você também terá que configurar os diversos itens, como taxa, controle de fluxo, bit de paridade...

Boa sorte.rs
Avatar do usuário
gibim
Byte
 
Mensagens: 117
Registrado em: 08 Nov 2006 21:40
Localização: Londrina - PR

Mensagempor gibim » 14 Nov 2006 00:14

Procura esse chip também FT232BM da FTDI.

Você consegue comprar esse chip na Farnell por 25 pilas, e os driver tem tudo da página da FTDI, é só procurar.

Eu vou usar no meu projeto o FT2232C, esse tem duas portas seriais, com um único cabo USB.

Essa é a única forma da gente começar a profissionalizar nossos projetos. Uma vez que escrever driver USB é quase que um trabalho infinito pra nós, seres mortais.

Falow
Avatar do usuário
gibim
Byte
 
Mensagens: 117
Registrado em: 08 Nov 2006 21:40
Localização: Londrina - PR

Mensagempor msamsoniuk » 14 Nov 2006 00:56

uma questao idiota: nao eh mais simples pegar um PIC ou HC908JB e programar eles para que se facam passar por dispositivos USB que com certeza jah possuem drivers genericos no windows e linux ? pergunto isso pq a maioria dos dispositivos USB disponiveis, que possuem uma memoria flash, como cameras, celulares e pen-drivers, quando acoplados no linux ou windows, sao reconhecidos prontamente como unidade de disco e nao eh necessario instalar qq especie de driver.

no caso do usb-serial do linux:

Código: Selecionar todos
Generic Serial driver

  If your device is not one of the above listed devices, compatible with
  the above models, you can try out the "generic" interface. This
  interface does not provide any type of control messages sent to the
  device, and does not support any kind of device flow control. All that
  is required of your device is that it has at least one bulk in endpoint,
  or one bulk out endpoint.

  To enable the generic driver to recognize your device, build the driver
  as a module and load it by the following invocation:
        insmod usbserial vendor=0x#### product=0x####
  where the #### is replaced with the hex representation of your device's
  vendor id and product id.

  This driver has been successfully used to connect to the NetChip USB
  development board, providing a way to develop USB firmware without
  having to write a custom driver.



supostamente, deve existir algo similar no windows e, com isso, nao seria necessario baixar e instalar drivers, aumentando imensamente a possibilidade de sucesso no uso. disso isso pq 70% dos dispositivos USB que testei, em maquinas e sistemas operacionais variados, falharam vergonhosamente. os raros casos de sucesso eram justamente os dispositivos genericos, que nao precisavam de drivers.
Avatar do usuário
msamsoniuk
Dword
 
Mensagens: 2935
Registrado em: 13 Out 2006 18:04

Mensagempor gibim » 14 Nov 2006 21:09

Adorei sua solução, mas não faço a menor idéia de como funciona o tal suposto driver genérico.

Algumas perguntas não querem calar:

1º - Qual o nome do driver genérico e que software irá emular isso no PIC ou HC08?
2º - Exite exemplos de utilização do Driver?
3º - (Estou afirmando) Eu precisaria codificar o Driver genérico para fazer controle de fluxo por software e hardware, controlar os comandos DTE, RTS, RS, CS, RI... Implementar isso tudo no microcontrolador, e pior... Isso ia ter que estar absolutamente sincronizado com o driver genérico.

4º - Além de que seria mais um chip para gravar na placa.
5° - A demanda não compensaria o custo de desenvolvimento e adaptação do driver genérico
6º - Existem os drivers HID, mas são tão genérico, que daria pra ligar uma torradeira neles..rs.

7º -E qual seria o custo?? apenas 2 ou 3 dólares, dos 4 do microcontrolador, de diferença entre comprar um PIC ou HC08.

Fora que existem CHIPS USB->Serial que emulam duas COM, (estou usando isso com o FT2232).

Deve ter mais uns 30 motivos... Quando lembrar eu posto aqui.

Mas se alguém ou algum cara "Santo", adepto do "OpenSource", resolver postar o código, ficarei eternamente grato e retiro metade dos meus argumentos.

Abraços
Avatar do usuário
gibim
Byte
 
Mensagens: 117
Registrado em: 08 Nov 2006 21:40
Localização: Londrina - PR

Mensagempor msamsoniuk » 15 Nov 2006 01:37

bom, vc falou com tanta conviccao que uma solucao USB baseada em microcontroladores nao presta que eu ateh desisti de postar o codigo da solucao opensource que eu encontrei para o HC908JB8 hehehe :)
Avatar do usuário
msamsoniuk
Dword
 
Mensagens: 2935
Registrado em: 13 Out 2006 18:04

Mensagempor gibim » 15 Nov 2006 12:06

Como disse: "Mas se alguém ou algum cara "Santo", adepto do "OpenSource", resolver postar o código, ficarei eternamente grato e retiro metade dos meus argumentos."

Pois acho um pouco de desperdício de processamento. Uma outra comparação seria como querer emular uma memória 24C02 em um PIC, vai funcionar e tem muitas vantagens, mas na hora da produção, é um saco ficar gravando.

Mas se você tiver uma solução, eu terei maior prazer de implementar para testar. E ainda coloco as coisas para os outros companheiros do fórum.

Abraços
Avatar do usuário
gibim
Byte
 
Mensagens: 117
Registrado em: 08 Nov 2006 21:40
Localização: Londrina - PR


Voltar para Linux ( x86 ou x64 )

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

x