Instalando o driver CP210x?

1

EDIT: Acabei de rodar lsmod no terminal e isso foi listado

cp210x                 24576  0 

Então, talvez ele já esteja instalado e eu não precise fazer nada / outra coisa é impedir que o GPS se comunique com o programa? Há algo de especial que precisaria ser feito para permitir que funcione com o Wine?

Sou novo no Linux / Ubuntu, então me desculpe, isso é meio estúpido. Eu tenho um GPS para geocaching ( link ) e para usá-lo, você precisa do driver CP210x da Silas Labs. Eu vi que havia um driver Linux e pensei que funcionaria, no entanto, estou confuso com as "notas de compilação". Não tem o código exato para copiar no terminal (ou ter um pacote de instalação conveniente :)).

Aqui está o que as instruções dizem:

  1. make (seu driver cp210x)
  2. cp cp210x.ko para /lib/modules/<kernel-version>/kernel/drivers/usb/serial
  3. insmod /lib/modules/<kernel-version/kernel/drivers/usb/serial/usbserial.ko
  4. insmod cp210x.ko

Agora, o download tem quatro arquivos, as notas de lançamento (acima), cp210x.c, cp210x_gpio_example.c e Makefile. Estou assumindo que o primeiro passo usa o Makefile, mas eu não sei o suficiente sobre código / Ubuntu para saber exatamente o que eu devo digitar / o que fazer.

O Makefile tem isto:

obj-m = cp210x.o
KVERSION = $(shell uname -r)
all:
    make -C /lib/modules/$(KVERSION)/build M=$(PWD) modules
clean:
    make -C /lib/modules/$(KVERSION)/build M=$(PWD) clean

O KVERSION deveria ser o 4.4.0-87-genérico (o mais novo / maior número na pasta lib / modules)? E então PWD minha senha, talvez? Eu não quero estragar coisas aleatoriamente digitando código no terminal, então eu gostaria de ter alguma orientação! A ajuda passo-a-passo seria muito, muito apreciada !!!

modinfo usbserial # get info on this kernel module
filename:       /lib/modules/4.4.0-87-generic/kernel/drivers/usb/serial/usbserial.ko
license:        GPL
description:    USB Serial Driver core
author:         Greg Kroah-Hartman <[email protected]>
srcversion:     AB3F1BFEDF75B5D214FAAD2
depends:        
intree:         Y
vermagic:       4.4.0-87-generic SMP mod_unload modversions 
parm:           vendor:User specified USB idVendor (ushort)
parm:           product:User specified USB idProduct (ushort)
modinfo cp210x # get info on this kernel module
filename:       /lib/modules/4.4.0-87-generic/kernel/drivers/usb/serial/cp210x.ko
license:        GPL
description:    Silicon Labs CP210x RS232 serial adaptor driver
srcversion:     2943505BFE400A2778D74E5
alias:          usb:v413Cp9500d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v3195pF281d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v3195pF280d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v3195pF190d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v2626pEA60d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v1FB9p0701d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v1FB9p0700d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v1FB9p0602d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v1FB9p0601d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v1FB9p0600d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v1FB9p0404d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v1FB9p0403d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v1FB9p0402d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v1FB9p0401d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v1FB9p0400d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v1FB9p0303d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v1FB9p0302d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v1FB9p0301d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v1FB9p0300d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v1FB9p0203d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v1FB9p0202d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v1FB9p0201d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v1FB9p0200d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v1FB9p0100d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v1E29p0501d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v1E29p0102d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v1D6Fp0010d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v1BE3p07A6d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v1BA4p0002d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v1B1Cp1C00d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v1ADBp0001d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v19CFp3000d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v1901p0196d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v1901p0195d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v1901p0194d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v1901p0193d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v1901p0190d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v18EFpE025d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v18EFpE00Fd*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v1843p0200d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v17F4pAAAAd*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v17A8p0005d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v17A8p0001d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v16DCp0015d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v16DCp0012d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v16DCp0011d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v16DCp0010d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v16D6p0001d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v16C0p09B1d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v16C0p09B0d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v166Ap0101d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v166Ap0401d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v166Ap0305d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v166Ap0304d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v166Ap0303d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v166Ap0301d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v166Ap0201d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v1555p0004d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v13ADp9999d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v12B8pEC62d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v12B8pEC60d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v10CEpEA6Ad*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v10C5pEA61d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v10C4pF004d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v10C4pF003d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v10C4pF002d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v10C4pF001d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v10C4pEA71d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v10C4pEA70d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v10C4pEA61d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v10C4pEA60d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v10C4p8A2Ad*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v10C4p8998d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v10C4p8977d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v10C4p8962d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v10C4p8946d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v10C4p88A5d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v10C4p88A4d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v10C4p8857d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v10C4p8856d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v10C4p8665d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v10C4p8664d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v10C4p85F8d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v10C4p85EBd*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v10C4p85EAd*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v10C4p84B6d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v10C4p8477d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v10C4p8470d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v10C4p846Ed*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v10C4p8418d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v10C4p8411d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v10C4p83D8d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v10C4p83A8d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v10C4p8382d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v10C4p8341d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v10C4p82F9d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v10C4p82F4d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v10C4p8293d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v10C4p8281d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v10C4p826Bd*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v10C4p822Bd*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v10C4p8218d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v10C4p81F2d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v10C4p81E8d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v10C4p81E7d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v10C4p81E2d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v10C4p81D7d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v10C4p81C8d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v10C4p81ADd*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v10C4p81ACd*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v10C4p81A9d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v10C4p81A6d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v10C4p819Fd*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v10C4p818Bd*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v10C4p815Fd*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v10C4p815Ed*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v10C4p8156d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v2405p0003d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v10C4p814Bd*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v10C4p814Ad*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v10C4p813Fd*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v10C4p813Dd*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v10C4p8115d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v10C4p80F6d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v10C4p80DDd*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v10C4p80CAd*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v10C4p80C4d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v10C4p807Ad*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v10C4p806Fd*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v10C4p8066d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v10C4p8054d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v10C4p8053d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v10C4p804Ed*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v10C4p8044d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v10C4p803Bd*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v10C4p800Ad*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v10C4p1601d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v10C4p1101d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v10C4p0F91d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v10B5pAC70d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v10ABp10C5d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v10A6pAA26d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v0FDEpCA05d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v0FCFp1006d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v0FCFp1004d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v0FCFp1003d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v0BEDp1101d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v0BEDp1100d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v0908p01FFd*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v08FDp000Ad*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v08E6p5501d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v0846p1100d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v0745p1000d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v0489pE003d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v0489pE000d*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v0471p066Ad*dc*dsc*dp*ic*isc*ip*in*
alias:          usb:v045Bp0053d*dc*dsc*dp*ic*isc*ip*in*
depends:        usbserial
intree:         Y
vermagic:       4.4.0-87-generic SMP mod_unload modversions 
    
por Amber 31.07.2017 / 18:52

1 resposta

2

No Ubuntu 17.10, esses módulos do kernel já estão lá. Para ver se eles existem no seu sistema 14.04, em terminal do ...

ls -al /lib/modules/"$(uname -r)"/kernel/drivers/usb/serial/usbserial.ko

ls -al /lib/modules/"$(uname -r)"/kernel/drivers/usb/serial/cp210x.ko

ou

modinfo usbserial # get info on this kernel module

modinfo cp210x # get info on this kernel module

Para carregá-los manualmente, para que você possa experimentar o acesso do Ubuntu, faça:

sudo modprobe usbserial # load this kernel module

sudo modprobe cp210x # load this kernel module

O fato de esses módulos permitirem ou não que um programa do Wine acesse o dispositivo é desconhecido. No entanto, o acesso do Ubuntu é provável.

Se esses dois arquivos não existirem, você precisará compilar seu código-fonte. Supondo que um arquivo chamado Linux-3-x-x-VCP-Driver-Source.zip exista em sua área de trabalho.

Nota: devido a este método manual de instalação, isso terá que ser feito toda vez que o kernel for atualizado via Software Updater.

Em uma janela Files (Nautilus), clique com o botão direito do mouse no arquivo Linux-3-x-x-VCP-Driver-Source.zip que você baixou e selecione extract here . Você vai acabar com uma pasta chamada Linux-3-x-x-VCP-Driver-Source .

Em terminal ...

cd ~/Desktop # change directory to Desktop

cd Linux-3-x-x-VCP-Driver-Source # change directory to the cp210x folder, adjust name if necessary

make # compile the source code

cp cp210x.ko to /lib/modules/"$(uname -r)"/kernel/drivers/usb/serial/ # copy the file to the system area

sudo modprobe usbserial # load this kernel module

sudo modprobe cp210x # load this kernel module
    
por heynnema 31.07.2017 / 19:13