Si dovrebbe sempre verificare la funzionalità UHD grezzo prima con lo strumento uhd_find_devices
prima:
uhd_find_devices
Se non trova il dispositivo, anche se viene avviato, la mia esperienza è che si ha un'alta probabilità di semplicemente non essendo in grado di comunicare con il dispositivo:
- Se non si utilizza una versione UHD da Ettus' own repositories, in particolare sul non-nuovo di zecca Ubuntus, il vostro UHD potrebbe semplicemente essere più vecchio del dispositivo e non posso parlarci. La prima riga di output di
uhd_find_devices
conterrà informazioni sulla versione. Al momento della stesura (ottobre 2014), 3.9 è l'ultima versione. Se possibile, usa sempre l'ultima versione.
- B200/B210 necessita di almeno 3.6.0, ma la funzionalità migliorata significativamente con 3.8.4
- X300/X310 necessita di almeno 3.7.0
- B200mini necessita 3,9
- USRP1/2/B100/N200/N210 dovrebbe essere supportato direttamente per le versioni meno recenti che troverai in natura. Non tanto per tutte le schede figlie che puoi usare con loro - come detto, prova ad usare una versione recente.
- Se stai usando un dispositivo collegato USB (USRP B200, B210, B200mini, B100, USRP1), è probabile che si sia
- su Linux: non si ha il udev rules installed necessaria consentire agli utenti "normali" di comunicare con gli USP; controllare se
/etc/udev/rules.d/
contiene qualcosa come uhd-usrp.rules
.
- su Windows: potrebbe non essere il Windows USB drivers installed.
- se hai costruito UHD da solo (anche se hai installato GNU Radio tramite
build-gnuradio.sh
o pybombs
), potrebbero essersi perse delle librerie USB. Assicurati che i tuoi registri Uma cmake contengano "Abilitazione USB".
- USB3: alcuni controller host USB3 non si comportano in modo conforme agli standard e non è possibile ottenere la connettività. Se il tuo USRP viene rilevato quando collegato a una porta USB2 (qualcuno che non è blu, di solito), dovresti stare bene.
- Se siete su un dispositivo collegato in rete (USRP X300/X310 con 1 Gbit/10 Gbit Ethernet, USRP N200/N210, USRP2)
- assicurarsi che l'interfaccia di rete è
- Compatibile con 1 Gbit (o 10GE, se applicabile); Le schede NIC "Fast Ethernet" (10/100Mbit) non funzionano con gli USRP.
- Non il controller di rete Intel 82579LM (l'unico controller di rete PCIe IC noto a cadere di tanto in tanto i pacchetti senza dire il sistema operativo
- non un adattatore USB3-to-Gigabit (questi tendono a fare riordino interessante sui pacchetti, rendendoli inadatto per i campioni in tempo reale ad alta tasso)
- assicurarsi che il computer sia sulla stessa rete IP. per impostazione predefinita, USRPs hanno indirizzi della gamma
192.168.10.XXX
(XXX=2
in impostazioni di fabbrica). assicurarsi che il computer ha un IP indirizzo dallo stesso intervallo, ma non lo stesso indirizzo.
- assicurarsi che la comunicazione di base funzioni (entro il
ping <ip address of USRP>
). In caso contrario, ricontrolla il tuo indirizzo IP e cerca di assicurarti che USRP sia configurato per l'indirizzo corretto.
- Per scoprire l'indirizzo IP corrente della vostra USRP, è spesso più facile da installare correttamente
wireshark
(che è un software di rete packet sniffer), hanno un'interfaccia di rete dedicata connettersi alla (spento USRP), avviare la cattura su quell'interfaccia e accendi l'USRP.
- Se l'indirizzo è sbagliato, è possibile riprogrammare l'indirizzo IP del USRP X300/X310:
cd <install-path>/lib/uhd/utils ; ./usrp_burn_mb_eeprom --args=addr=<current IP address> --values="ip-addr0=<new ip address>"
- Se l'indirizzo è sbagliato, è possibile riprogrammare l'indirizzo IP del USRP N200/N210/USRP2:
cd <install-path>/lib/uhd/utils ; ./usrp_burn_mb_eeprom --args=<optional device args> --values="ip-addr=192.168.10.3"
- assicurarsi di avere il tuo firewall configured to permit traffic proveniente dalla porta USRP 49152. Su Linux, il seguente comando
iptables
tipicamente fa il trucco¹: sudo iptables -A INPUT -p udp --sport 49152 -j ACCEPT
. Si noti che questo fa buca un buco nel firewall. Potrebbero essere applicate le politiche di sicurezza dell'istituto.
- Se stai cercando di utilizzare un USRP E100, E110, E310 o E312 collegato al PC:
- I dispositivi della serie E sono dispositivi Linux DSP incorporato standalone; non si collegano a un PC come periferica. Dovrai compilare il tuo software (se applicabile) con un cross-compiler ed eseguire il software sul dispositivo E-series stesso, non sul PC host.
Come test rapido se il PC, USRP e configurazione del cablaggio e IP dispositivo siano corrette, scaricare la corrente GNU Radio Live DVD ² (che, tra l'altro, contiene anche una copiosa quantità di esempi interessanti), avviarlo e prova uhd_find_devices
lì.
¹ il chilometraggio può variare, come ogni distribuzione ha la propria idea di come gestire il firewall
² Si prega di utilizzare i file torrent, se possibile - il traffico Amazon AWS non è libero per la manutentori del progetto GNU Radio. Il file torrent utilizza anche i server AWS come origine, ma cerca di ottenere una parte dell'immagine da altri utenti.
fonte
2015-10-23 14:27:33
Conoscere SWIG: non ** mai ** un file Python generato da swig. Inoltre, conoscendo UHD internamente bene, 'device_addr = b210' viene ignorato da UHD, quindi se questo ti aiuta, è per coincidenza. –
Inoltre, non so esattamente quale problema risolve, ma probabilmente è qualcosa di * molto * specifico. –