Difference between revisions of "OpenBTS: N210 Burn Firmware"

From OnnoWiki
Jump to navigation Jump to search
(New page: Sumber: http://files.ettus.com/uhd_docs/manual/html/usrp2.html UHD - USRP2 and N2X0 Series Application Notes Table of Contents Comparative features list Load the Images onto th...)
 
 
(15 intermediate revisions by the same user not shown)
Line 2: Line 2:
  
  
UHD - USRP2 and N2X0 Series Application Notes
 
  
Table of Contents
+
==Comparative features list==
  
    Comparative features list
+
* 1 transceiver card slot
    Load the Images onto the SD card (USRP2 only)
+
* 2 RX DDC chains in FPGA
        Use the card burner tool (UNIX)
+
* 1 TX DUC chain in FPGA
        Use the card burner tool (Windows)
+
* Timed commands in FPGA (N2x0 only)
    Load the Images onto the On-board Flash (USRP-N Series only)
+
* Timed sampling in FPGA
        Use the net burner tool (UNIX)
+
* External PPS reference
        Use the net burner tool (Windows)
+
* External 10MHz reference
        Burning images without Python
+
* MIMO cable share reference
        Device recovery and bricking
+
* Fixed 100 MHz clock rate
    Setup Networking
+
* Internal GPSDO option (N2x0 only)
        Setup the host interface
+
* sc8 and sc16 sample modes
        Multiple devices per host
 
        Change the USRP2's IP address
 
    Communication Problems
 
        RuntimeError: no control response
 
        Firewall issues
 
        Ping the device
 
        Monitor the serial output
 
        Monitor the host network traffic
 
    Addressing the Device
 
        Single device configuration
 
        Multiple device configuration
 
    Using the MIMO Cable
 
        Shared ethernet mode
 
        Dual ethernet mode
 
        Configuring the slave
 
    Alternative stream destination
 
        Set the subnet and gateway
 
        Create a receive streamer
 
    Hardware Setup Notes
 
        Front panel LEDs
 
        Ref Clock - 10MHz
 
        PPS - Pulse Per Second
 
        Internal GPSDO
 
    Miscellaneous
 
        Available Sensors
 
        Multiple RX channels
 
  
Comparative features list
 
  
    1 transceiver card slot
+
==Load Image ke On-board Flash (Untuk USRP-N Series)==
    2 RX DDC chains in FPGA
 
    1 TX DUC chain in FPGA
 
    Timed commands in FPGA (N2x0 only)
 
    Timed sampling in FPGA
 
    External PPS reference
 
    External 10MHz reference
 
    MIMO cable shared reference
 
    Fixed 100 MHz clock rate
 
    Internal GPSDO option (N2x0 only)
 
    sc8 and sc16 sample modes
 
  
Load the Images onto the SD card (USRP2 only)
+
USRP-N Series dapat di reprogram melalui jaringan untuk update atau ubah firmware atau FPGA image.
 +
Jika kita mengupdate image, selalu burn FPGA dan firmware image sebelum mematikan power Hal ini untuk memastikan agar saat device reboot, dia mempunyai image yang compatible saat booting.
  
Warning! Use usrp2_card_burner.py with caution. If you specify the wrong device node, you could overwrite your hard drive. Make sure that --dev= specifies the SD card.
+
Catatan: Beda revisi hardware akan membutuhkan image FPGA yang beda.  
 +
Temukan nomor revisi di stiker di belakang chasis. Gunakan nomor ini untuk menentukan image FPGA yang cocok untuk device yang kita gunakan.
  
Warning! It is possible to use 3rd party SD cards with the USRP2. However, certain types of SD cards will not interface with the CPLD:
 
  
    Cards can be SDHC, which is not a supported interface.
+
===Gunakan tool net burner (UNIX)===
    Cards can have unexpected timing characteristics.
 
  
For these reasons, we recommend that you use the SD card that was supplied with the USRP2.
+
<install-path>/share/uhd/utils/usrp_n2xx_net_burner_gui.py
Use the card burner tool (UNIX)
 
  
sudo <install-path>/share/uhd/utils/usrp2_card_burner_gui.py
+
-- ATAU --
  
-- OR --
+
cd <install-path>/share/uhd/utils
 +
./usrp_n2xx_net_burner.py --addr=<ip address> --fw=<path for firmware image>
 +
./usrp_n2xx_net_burner.py --addr=<ip address> --fpga=<path to FPGA image>
  
cd <install-path>/share/uhd/utils
+
==Burning image tanpa Python==
sudo ./usrp2_card_burner.py --dev=/dev/sd<XXX> --fpga=<path_to_fpga_image>
 
sudo ./usrp2_card_burner.py --dev=/dev/sd<XXX> --fw=<path_to_firmware_image>
 
  
Use the --list option to get a list of possible raw devices. The list result will filter out disk partitions and devices too large to be the sd card. The list option has been implemented on Linux, Mac OS X, and Windows.
+
Untuk user yang tidak ingin menginstalasi Python, sebuah script baru tersedia di UHD 003.005.000: USRP N2XX Simple Net Burner. Tool ini memberikan fungsi yang sama dengan tool dari Python, tapi secara default, dia akan automatis menginstalasi image default tanpa kita perlu menspesifikasikan lokasinya di command line.
Use the card burner tool (Windows)
 
  
<path_to_python.exe> <install-path>/share/uhd/utils/usrp2_card_burner_gui.py
+
Tool dapat ditemukan di: <install-path>/share/uhd/utils/usrp_n2xx_simple_net_burner
  
Load the Images onto the On-board Flash (USRP-N Series only)
+
==Menyelamatkan Device dan bricking==
  
The USRP-N Series can be reprogrammed over the network to update or change the firmware and FPGA images. When updating images, always burn both the FPGA and firmware images before power cycling. This ensures that when the device reboots, it has a compatible set of images to boot into.
+
Kadang kala device masuk ke kondisi tidak stabil karena load image yang jelek / gagal. Untungnya, USRP-N Series dapat di boot ke safe image (read-only). Setelah boot ke safe image, user dapat sekali lagi load image ke device.
  
Note: Different hardware revisions require different FPGA images. Determine the revision number from the sticker on the rear of the chassis. Use this number to select the correct FPGA image for your device.
+
Tombol safe-mode adalah tombol (S2) yang berada di dalam kotak.
Use the net burner tool (UNIX)
+
Untuk boot ke safe image, tekan tombol safe-mode saat kita menyalakan device.
 +
Terus tekan tombol sampai kedipan LED di panel depan selesai dan menjadi nyala terus menerus.
  
<install-path>/share/uhd/utils/usrp_n2xx_net_burner_gui.py
+
Jika berada di safe-mode, device USRP-N selalu mempunyai IP address 192.168.10.2.
  
-- OR --
+
==Setup Jaringan==
  
cd <install-path>/share/uhd/utils
+
USRP2 hanya mendukung Gigabit Ethernet dan tidak akan bekerja dengan LAN 10/100 Mbps.
./usrp_n2xx_net_burner.py --addr=<ip address> --fw=<path for firmware image>
+
Akan tetapi, interface 10/100 Mbps dapat tersambung langsung ke USRP2 melalui Gigabit Ethernet switch.
./usrp_n2xx_net_burner.py --addr=<ip address> --fpga=<path to FPGA image>
 
  
Use the net burner tool (Windows)
+
===Setup host interface===
  
<path_to_python.exe> <install-path>/share/uhd/utils/usrp_n2xx_net_burner_gui.py
+
USRP2 berkomunikasi pada layer IP/UDP melalui gigabit ethernet. Default IP address USRP2 192.168.10.2. Kita perlu mengkonfigurasi host Ethernet interface dengan statik IP address agar dapat berkomunikasi.
 +
Di rekomendasikan untuk menggunakan address 192.168.10.1 dan subnet mask 255.255.255.0.
  
Burning images without Python
+
Di Linux, set statik IP address dapat menggunakan perintah:
  
For users who do not wish to install Python, a new script is available in UHD 003.005.000: the USRP N2XX Simple Net Burner. It provides the same functionality as its Python counterpart, but by default, it automatically installs the default images without the user needing to specify their location on the command line.
+
sudo ifconfig <interface> 192.168.10.1
  
The utility can be found at: <install-path>/share/uhd/utils/usrp_n2xx_simple_net_burner
+
Untuk mengetahui nama <interface> yang ada di komputer kita. Jalankan perintah
Device recovery and bricking
 
  
Its possible to put the device into an unusable state by loading bad images. Fortunately, the USRP-N Series can be booted into a safe (read-only) image. Once booted into the safe image, the user can once again load images onto the device.
+
ifconfig -a
  
The safe-mode button is a pushbutton switch (S2) located inside the enclosure. To boot into the safe image, hold-down the safe-mode button while power-cycling the device. Continue to hold-down the button until the front-panel LEDs blink and remain solid.
+
Catatan: Jika menggunakan UHD software, jika IP address dari USRP2 tidak di berikan, software akan mengunakan paket UDP broadcast untuk melokalokasi USRP2 yang ada. Di beberapa sistem, firewall akan memblok paket UDP broadcast. Sangat di rekomendasikan jika kita dapat mengubah atau mendisable setting firewall tersebut.
  
When in safe-mode, the USRP-N device will always have the IP address 192.168.10.2.
+
===Multiple devices per host===
Setup Networking
 
 
 
The USRP2 only supports Gigabit Ethernet and will not work with a 10/100 Mbps interface. However, a 10/100 Mbps interface can be connected indirectly to a USRP2 through a Gigabit Ethernet switch.
 
Setup the host interface
 
 
 
The USRP2 communicates at the IP/UDP layer over the gigabit ethernet. The default IP address of the USRP2 is 192.168.10.2. You will need to configure the host's Ethernet interface with a static IP address to enable communication. An address of 192.168.10.1 and a subnet mask of 255.255.255.0 is recommended.
 
 
 
On a Linux system, you can set a static IP address very easily by using the 'ifconfig' command:
 
 
 
sudo ifconfig <interface> 192.168.10.1
 
 
 
Note that <interface> is usually something like eth0. You can discover the names of the network interfaces in your computer by running ifconfig without any parameters:
 
 
 
ifconfig -a
 
 
 
Note: When using UHD software, if an IP address for the USRP2 is not specified, the software will use UDP broadcast packets to locate the USRP2. On some systems, the firewall will block UDP broadcast packets. It is recommended that you change or disable your firewall settings.
 
Multiple devices per host
 
  
 
For maximum throughput, one Ethernet interface per USRP2 is recommended, although multiple devices may be connected via a Gigabit Ethernet switch. In any case, each Ethernet interface should have its own subnet, and the corresponding USRP2 device should be assigned an address in that subnet. Example:
 
For maximum throughput, one Ethernet interface per USRP2 is recommended, although multiple devices may be connected via a Gigabit Ethernet switch. In any case, each Ethernet interface should have its own subnet, and the corresponding USRP2 device should be assigned an address in that subnet. Example:
Line 146: Line 89:
 
     USRP2 device IPv4 address: 192.168.20.2
 
     USRP2 device IPv4 address: 192.168.20.2
  
Change the USRP2's IP address
+
===Change the USRP2's IP address===
  
 
You may need to change the USRP2's IP address for several reasons:
 
You may need to change the USRP2's IP address for several reasons:
  
    to satisfy your particular network configuration
+
* to satisfy your particular network configuration
    to use multiple USRP2s on the same host computer
+
* to use multiple USRP2s on the same host computer
    to set a known IP address into USRP2 (in case you forgot)
+
* to set a known IP address into USRP2 (in case you forgot)
  
 
Method 1: To change the USRP2's IP address, you must know the current address of the USRP2, and the network must be setup properly as described above. Run the following commands:
 
Method 1: To change the USRP2's IP address, you must know the current address of the USRP2, and the network must be setup properly as described above. Run the following commands:
  
cd <install-path>/share/uhd/utils
+
cd <install-path>/share/uhd/utils
./usrp_burn_mb_eeprom --args=<optional device args> --key=ip-addr --val=192.168.10.3
+
./usrp_burn_mb_eeprom --args=<optional device args> --key=ip-addr --val=192.168.10.3
  
 
Method 2 (Linux Only): This method assumes that you do not know the IP address of your USRP2. It uses raw Ethernet packets to bypass the IP/UDP layer to communicate with the USRP2. Run the following commands:
 
Method 2 (Linux Only): This method assumes that you do not know the IP address of your USRP2. It uses raw Ethernet packets to bypass the IP/UDP layer to communicate with the USRP2. Run the following commands:
  
cd <install-path>/share/uhd/utils
+
cd <install-path>/share/uhd/utils
sudo ./usrp2_recovery.py --ifc=eth0 --new-ip=192.168.10.3
+
sudo ./usrp2_recovery.py --ifc=eth0 --new-ip=192.168.10.3
  
Communication Problems
+
==Communication Problems==
  
 
When setting up a development machine for the first time, you may have various difficulties communicating with the USRP device. The following tips are designed to help narrow down and diagnose the problem.
 
When setting up a development machine for the first time, you may have various difficulties communicating with the USRP device. The following tips are designed to help narrow down and diagnose the problem.
RuntimeError: no control response
+
 
 +
===RuntimeError: no control response===
  
 
This is a common error that occurs when you have set the subnet of your network interface to a different subnet than the network interface of the USRP device. For example, if your network interface is set to 192.168.20.1, and the USRP device is 192.168.10.2 (note the difference in the third numbers of the IP addresses), you will likely see a 'no control response' error message.
 
This is a common error that occurs when you have set the subnet of your network interface to a different subnet than the network interface of the USRP device. For example, if your network interface is set to 192.168.20.1, and the USRP device is 192.168.10.2 (note the difference in the third numbers of the IP addresses), you will likely see a 'no control response' error message.
  
 
Fixing this is simple - just set the your host PC's IP address to the same subnet as that of your USRP device. Instructions for setting your IP address are in the previous section of this documentation.
 
Fixing this is simple - just set the your host PC's IP address to the same subnet as that of your USRP device. Instructions for setting your IP address are in the previous section of this documentation.
Firewall issues
+
 
 +
===Firewall issues===
  
 
When the IP address is not specified, the device discovery broadcasts UDP packets from each ethernet interface. Many firewalls will block the replies to these broadcast packets. If disabling your system's firewall or specifying the IP address yields a discovered device, then your firewall may be blocking replies to UDP broadcast packets. If this is the case, we recommend that you disable the firewall or create a rule to allow all incoming packets with UDP source port 49152.
 
When the IP address is not specified, the device discovery broadcasts UDP packets from each ethernet interface. Many firewalls will block the replies to these broadcast packets. If disabling your system's firewall or specifying the IP address yields a discovered device, then your firewall may be blocking replies to UDP broadcast packets. If this is the case, we recommend that you disable the firewall or create a rule to allow all incoming packets with UDP source port 49152.
Ping the device
+
 
 +
===Ping the device===
  
 
The USRP device will reply to ICMP echo requests. A successful ping response means that the device has booted properly and that it is using the expected IP address.
 
The USRP device will reply to ICMP echo requests. A successful ping response means that the device has booted properly and that it is using the expected IP address.
  
ping 192.168.10.2
+
ping 192.168.10.2
  
Monitor the serial output
+
==Monitor the serial output==
  
 
Read the serial port to get debug verbose output from the embedded microcontroller. The microcontroller prints useful information about IP addresses, MAC addresses, control packets, fast-path settings, and bootloading. Use a standard USB to 3.3v-level serial converter at 230400 baud. Connect GND to the converter ground, and connect TXD to the converter receive. The RXD pin can be left unconnected as this is only a one-way communication.
 
Read the serial port to get debug verbose output from the embedded microcontroller. The microcontroller prints useful information about IP addresses, MAC addresses, control packets, fast-path settings, and bootloading. Use a standard USB to 3.3v-level serial converter at 230400 baud. Connect GND to the converter ground, and connect TXD to the converter receive. The RXD pin can be left unconnected as this is only a one-way communication.
  
    USRP2: Serial port located on the rear edge
+
* USRP2: Serial port located on the rear edge
    N210: Serial port located on the left side
+
* N210: Serial port located on the left side
  
Monitor the host network traffic
+
==Monitor the host network traffic==
  
 
Use Wireshark to monitor packets sent to and received from the device.
 
Use Wireshark to monitor packets sent to and received from the device.
Addressing the Device
+
 
Single device configuration
+
==Addressing the Device==
 +
 
 +
===Single device configuration===
  
 
In a single-device configuration, the USRP device must have a unique IPv4 address on the host computer. The USRP can be identified through its IPv4 address, resolvable hostname, or by other means. See the application notes on device identification. Use this addressing scheme with the single_usrp interface.
 
In a single-device configuration, the USRP device must have a unique IPv4 address on the host computer. The USRP can be identified through its IPv4 address, resolvable hostname, or by other means. See the application notes on device identification. Use this addressing scheme with the single_usrp interface.
Line 198: Line 146:
 
Example device address string representation for a USRP2 with IPv4 address 192.168.10.2:
 
Example device address string representation for a USRP2 with IPv4 address 192.168.10.2:
  
addr=192.168.10.2
+
addr=192.168.10.2
  
Multiple device configuration
+
===Multiple device configuration===
  
 
In a multi-device configuration, each USRP device must have a unique IPv4 address on the host computer. The device address parameter keys must be suffixed with the device index. Each parameter key should be of the format <key><index>. Use this addressing scheme with the multi_usrp interface.
 
In a multi-device configuration, each USRP device must have a unique IPv4 address on the host computer. The device address parameter keys must be suffixed with the device index. Each parameter key should be of the format <key><index>. Use this addressing scheme with the multi_usrp interface.
  
    The order in which devices are indexed corresponds to the indexing of the transmit and receive channels.
+
* The order in which devices are indexed corresponds to the indexing of the transmit and receive channels.
    The key indexing provides the same granularity of device identification as in the single device case.
+
* The key indexing provides the same granularity of device identification as in the single device case.
  
 
Example device address string representation for 2 USRP2s with IPv4 addresses 192.168.10.2 and 192.168.20.2:
 
Example device address string representation for 2 USRP2s with IPv4 addresses 192.168.10.2 and 192.168.20.2:
  
addr0=192.168.10.2, addr1=192.168.20.2
+
addr0=192.168.10.2, addr1=192.168.20.2
  
Using the MIMO Cable
+
==Using the MIMO Cable==
  
 
The MIMO cable allows two USRP devices to share reference clocks, time synchronization, and the Ethernet interface. One of the devices will sync its clock and time references to the MIMO cable. This device will be referred to as the slave, and the other device, the master.
 
The MIMO cable allows two USRP devices to share reference clocks, time synchronization, and the Ethernet interface. One of the devices will sync its clock and time references to the MIMO cable. This device will be referred to as the slave, and the other device, the master.
  
    The slave device acquires the clock and time references from the master device.
+
* The slave device acquires the clock and time references from the master device.
    The master and slave may be used individually or in a multi-device configuration.
+
* The master and slave may be used individually or in a multi-device configuration.
    External clocking is optional and should only be supplied to the master device.
+
* External clocking is optional and should only be supplied to the master device.
  
Shared ethernet mode
+
===Shared ethernet mode===
  
 
In shared Ethernet mode, only one device in the configuration can be attached to the Ethernet.
 
In shared Ethernet mode, only one device in the configuration can be attached to the Ethernet.
  
    Clock reference, time reference, and data are communicated over the MIMO cable.
+
* Clock reference, time reference, and data are communicated over the MIMO cable.
    Master and slave must have different IPv4 addresses in the same subnet.
+
* Master and slave must have different IPv4 addresses in the same subnet.
  
Dual ethernet mode
+
===Dual ethernet mode===
  
 
In dual Ethernet mode, both devices in the configuration must be attached to the Ethernet.
 
In dual Ethernet mode, both devices in the configuration must be attached to the Ethernet.
  
    Only clock reference and time reference are communicated over the MIMO cable.
+
* Only clock reference and time reference are communicated over the MIMO cable.
    The master and slave must have different IPv4 addresses in different subnets.
+
* The master and slave must have different IPv4 addresses in different subnets.
  
Configuring the slave
+
===Configuring the slave===
  
 
In order for the slave to synchronize to the master over MIMO cable, the following clock configuration must be set on the slave device:
 
In order for the slave to synchronize to the master over MIMO cable, the following clock configuration must be set on the slave device:
  
uhd::clock_config_t clock_config;
+
uhd::clock_config_t clock_config;
clock_config.ref_source = uhd::clock_config_t::REF_MIMO;
+
clock_config.ref_source = uhd::clock_config_t::REF_MIMO;
clock_config.pps_source = uhd::clock_config_t::PPS_MIMO;
+
clock_config.pps_source = uhd::clock_config_t::PPS_MIMO;
usrp->set_clock_config(clock_config, slave_index);
+
usrp->set_clock_config(clock_config, slave_index);
  
Alternative stream destination
+
==Alternative stream destination==
  
 
It is possible to program the USRP device to send RX packets to an alternative IP/UDP destination.
 
It is possible to program the USRP device to send RX packets to an alternative IP/UDP destination.
Line 251: Line 199:
 
Run the following commands:
 
Run the following commands:
  
cd <install-path>/share/uhd/utils
+
cd <install-path>/share/uhd/utils
./usrp_burn_mb_eeprom --args=<optional device args> --key=subnet --val=255.255.255.0
+
./usrp_burn_mb_eeprom --args=<optional device args> --key=subnet --val=255.255.255.0
./usrp_burn_mb_eeprom --args=<optional device args> --key=gateway --val=192.168.10.1
+
./usrp_burn_mb_eeprom --args=<optional device args> --key=gateway --val=192.168.10.1
  
Create a receive streamer
+
==Create a receive streamer==
  
 
Set the stream args "addr" and "port" values to the alternative destination. Packets will be sent to this destination when the user issues a stream command.
 
Set the stream args "addr" and "port" values to the alternative destination. Packets will be sent to this destination when the user issues a stream command.
  
//create a receive streamer, host type does not matter
+
//create a receive streamer, host type does not matter
uhd::stream_args_t stream_args("fc32");
+
uhd::stream_args_t stream_args("fc32");
 
+
//resolvable address and port for a remote udp socket
+
//resolvable address and port for a remote udp socket
stream_args.args["addr"] = "192.168.10.42";
+
stream_args.args["addr"] = "192.168.10.42";
stream_args.args["port"] = "12345";
+
stream_args.args["port"] = "12345";
 
+
//create the streamer
+
//create the streamer
uhd::rx_streamer::sptr rx_stream = usrp->get_rx_stream(stream_args);
+
uhd::rx_streamer::sptr rx_stream = usrp->get_rx_stream(stream_args);
 
+
//issue stream command
+
//issue stream command
uhd::stream_cmd_t stream_cmd(uhd::stream_cmd_t::STREAM_MODE_NUM_SAMPS_AND_DONE);
+
uhd::stream_cmd_t stream_cmd(uhd::stream_cmd_t::STREAM_MODE_NUM_SAMPS_AND_DONE);
stream_cmd.num_samps = total_num_samps;
+
stream_cmd.num_samps = total_num_samps;
stream_cmd.stream_now = true;
+
stream_cmd.stream_now = true;
usrp->issue_stream_cmd(stream_cmd);
+
usrp->issue_stream_cmd(stream_cmd);
  
 
Note: Calling recv() on this streamer object should yield a timeout.
 
Note: Calling recv() on this streamer object should yield a timeout.
Line 288: Line 236:
 
     LED F: CPLD loaded
 
     LED F: CPLD loaded
  
Ref Clock - 10MHz
+
==Ref Clock - 10MHz==
  
 
Using an external 10MHz reference clock, a square wave will offer the best phase noise performance, but a sinusoid is acceptable. The reference clock requires the following power level:
 
Using an external 10MHz reference clock, a square wave will offer the best phase noise performance, but a sinusoid is acceptable. The reference clock requires the following power level:
Line 295: Line 243:
 
     N2XX 0 to 15dBm
 
     N2XX 0 to 15dBm
  
PPS - Pulse Per Second
+
==PPS - Pulse Per Second==
  
 
Using a PPS signal for timestamp synchronization requires a square wave signal with the following amplitude:
 
Using a PPS signal for timestamp synchronization requires a square wave signal with the following amplitude:
Line 306: Line 254:
 
     <args> are device address arguments (optional if only one USRP device is on your machine)
 
     <args> are device address arguments (optional if only one USRP device is on your machine)
  
cd <install-path>/share/uhd/examples
+
cd <install-path>/share/uhd/examples
./test_pps_input --args=<args>
+
./test_pps_input --args=<args>
  
Internal GPSDO
 
  
Please see the Internal GPSDO Application Notes for information on configuring and using the internal GPSDO.
 
Miscellaneous
 
Available Sensors
 
  
The following sensors are available for the USRP2/N-Series motherboards; they can be queried through the API.
+
==Multiple RX channels==
 
 
    mimo_locked - clock reference locked over the MIMO cable
 
    ref_locked - clock reference locked (internal/external)
 
    other sensors are added when the GPSDO is enabled
 
 
 
Multiple RX channels
 
  
 
There are two complete DDC chains in the FPGA. In the single channel case, only one chain is ever used. To receive from both channels, the user must set the RX subdevice specification. This hardware has only one daughterboard slot, which has been aptly named slot A.
 
There are two complete DDC chains in the FPGA. In the single channel case, only one chain is ever used. To receive from both channels, the user must set the RX subdevice specification. This hardware has only one daughterboard slot, which has been aptly named slot A.
Line 327: Line 265:
 
In the following example, a TVRX2 is installed. Channel 0 is sourced from subdevice RX1, and channel 1 is sourced from subdevice RX2:
 
In the following example, a TVRX2 is installed. Channel 0 is sourced from subdevice RX1, and channel 1 is sourced from subdevice RX2:
  
usrp->set_rx_subdev_spec("A:RX1 A:RX2");
+
usrp->set_rx_subdev_spec("A:RX1 A:RX2");
  
  
Line 338: Line 276:
  
 
* http://files.ettus.com/uhd_docs/manual/html/usrp2.html
 
* http://files.ettus.com/uhd_docs/manual/html/usrp2.html
 +
 +
==Pranala Menarik==
 +
 +
* [[OpenBTS]]
 +
* [[OpenBTS: Arsitektur secara umum]]
 +
 +
===Persiapan===
 +
 +
* [[USRP: High Precision Clock]]
 +
* [[USRP: Menyambungkan ClockTamer ke USRP1]]
 +
* [[USRP: Kalibrasi ClockTamer]]
 +
* [[USRP: ClockTamer Control Protocol]]
 +
* [[USRP: ClockTamer Flashing]]
 +
* [[USRP: Instalasi Board]]
 +
* [[OpenBTS: GIT Source Code]]
 +
* [[USRP: Rangkaian Board USRP]]
 +
* [[OpenBTS: Tethr untuk Bencana Alam]]
 +
* [[USRP: Tip Pemesanan]]
 +
 +
===Script===
 +
 +
* [[OpenBTS: Script Membuat GNURadio 3.4.2 di Ubuntu 13.04]]
 +
* [[OpenBTS: Script Membuat OpenBTS dan yate di Ubuntu 13.04]]
 +
* [[OpenBTS: Script Membuat OpenBTS 2.8.0 di RangeNetwork Dev Kit]]
 +
* [[OpenBTS: Script Membuat OpenBTS di RangeNetwork Dev Kit]]
 +
 +
===OpenBTS 2.6===
 +
 +
* [[GNURadio]]
 +
* [[GNURadio: Ubuntu Install]]
 +
* [[GNURadio: Menggunakan UHD]]
 +
* [[GNURadio: Ubuntu Install GNURadio 3.4.2]] '''RECOMMENDED'''
 +
* [[GNURadio: Ubuntu Install GNURadio 3.4.2 Clock 52MHz]] '''RECOMMENDED'''
 +
* [[GNURadio: Ubuntu 13.04 Install GNURadio 3.4.2 Clock 52MHz]] ''NOT RECOMMENDED''
 +
* [[GNURadio: Contoh Aplikasi]]
 +
* [[GNURadio: Spectrum Analizer GSM]]
 +
* [[GNURadio: Mengubah board RFX1800 menjadi RFX900]]
 +
* [[GNURadio: Programming Untuk Pemula]]
 +
* [[OpenBTS: Ubuntu Install]] '''RECOMMENDED'''
 +
* [[OpenBTS: Ubuntu Install OpenBTS 2.6 Clock 52MHz]] '''RECOMMENDED'''
 +
* [[OpenBTS: Ubuntu 13.04 Install OpenBTS 2.6 Clock 52MHz]] ''NOT RECOMMENDED''
 +
* [[OpenBTS: Konfigurasi]] '''RECOMMENDED'''
 +
* [[OpenBTS: Kalibrasi]]
 +
* [[OpenBTS: Konfigurasi Asterisk untuk OpenBTS]] '''RECOMMENDED'''
 +
* [[OpenBTS: Menjalankan smqueue]]
 +
* [[OpenBTS: Mengoperasikan BTS]] '''RECOMMENDED'''
 +
* [[OpenBTS: Tampilan di Nokia saat pakai OpenBTS]]
 +
* [[OpenBTS: Operasi 1800 MHz]]
 +
* [[OpenBTS: Beberapa Tips]]
 +
* [[OpenBTS: USRP2]]
 +
* [[OpenBTS: Amplifier]]
 +
* [[OpenBTS: SMS]]
 +
* [[AirProbe]]
 +
 +
===OpenBTS 2.8===
 +
 +
* [[GNURadio: Ubuntu 11.10 Install]] ''NOT RECOMMENED''
 +
* [[GNURadio: Ubuntu 11.10 instalasi menggunakan Repo]] ''NOT RECOMMENDED''
 +
* [[GNURadio: Download GNURadio]]
 +
* [[GNURadio: Install UHD]]
 +
* [[GNURadio: Ubuntu 11.10 Instal GNURadio 3.3.0]]
 +
* [[GNURadio: Ubuntu 12.10 Instal GNURadio 3.3.0]]
 +
* [[GNURadio: Ubuntu 12.10 Instal GNURadio 3.4.1]] ''NOT RECOMMENDED''
 +
* [[GNURadio: Ubuntu 11.10 Instal GNURadio 3.4.2]] '''RECOMMENDED'''
 +
* [[GNURadio: Ubuntu 12.04 Instal GNURadio 3.4.2]] '''RECOMMENDED'''
 +
* [[GNURadio: Ubuntu 12.04.1 Instal GNURadio 3.4.2]] '''RECOMMENDED'''
 +
* [[GNURadio: Ubuntu 12.10 Instal GNURadio 3.4.2]] ''NOT RECOMMENDED''
 +
* [[GNURadio: Ubuntu 13.04 Instal GNURadio 3.4.2]] '''RECOMMENDED'''
 +
* [[GNURadio: Ubuntu 11.10 Instal GNURadio 3.5.0]] ''NOT RECOMMENDED''
 +
* [[GNURadio: Ubuntu 11.10 Instal GNURadio 3.5.3.2]] ''NOT RECOMMENDED''
 +
* [[GNURadio: Ubuntu 11.10 Instal GNURadio 3.6.0]] ''NOT RECOMMENDED''
 +
* [[GNURadio: Ubuntu 11.10 Install dari GIT GNURadio]] ''NOT RECOMMENDED''
 +
* [[GNURadio: Ubuntu 11.10 cek USRP Daughter Board]]
 +
* [[GNURadio: UHD]] ''NOT RECOMMENDED''
 +
* [[GNURadio: UHD Image]] ''NOT RECOMMENDED''
 +
* [[GNURadio: UHD burn EEPROM RFX Board di USRP1]] ''NOT RECOMMENDED''
 +
* [[GNURadio: UHD Identifikasi Device]]
 +
* [[OpenBTS: Ubuntu 11.10 Install]]
 +
* [[OpenBTS: dari GIT ttsou]]
 +
* [[OpenBTS: 2.8 dari SVN Install]]
 +
* [[OpenBTS: 2.8 dari SVN Install Clock 52MHz]] '''RECOMMENDED'''
 +
* [[OpenBTS: 2.8 dari SVN Install Clock 52MHz di Ubuntu 12.10]] '''RECOMMENDED'''
 +
* [[OpenBTS: 2.8 dari SVN Install Clock 52MHz di Ubuntu 13.04]] '''RECOMMENDED'''
 +
* [[OpenBTS: 2.8 dari SVN 2.8.0 Install Clock 52MHz di Ubuntu 13.04]] '''RECOMMENDED'''
 +
* [[OpenBTS: 2.8 dari SVN Install Clock 52MHz dengan UHD tanpa GNURadio]] ''NOT RECOMMENDED''
 +
* [[OpenBTS: 2.8 Edit User di sqlite3.db]] '''RECOMMEND'''
 +
* [[OpenBTS: Yate Softswitch]] '''RECOMMENDED'''
 +
* [[OpenBTS: Yate Softswitch install Ubuntu 12.10]] '''RECOMMENDED'''
 +
* [[OpenBTS: Yate Softswitch install Ubuntu 13.04]] '''RECOMMENDED'''
 +
* [[OpenBTS: Yate Config Test]]
 +
* [[OpenBTS: 2.8 Instalasi Real Time Asterisk]] '''RECOMMENDED'''
 +
* [[OpenBTS: 2.8 Menjalankan]] '''RECOMMENDED'''
 +
* [[OpenBTS: 2.8 Konfigurasi]]
 +
* [[OpenBTS: 2.8 Konfigurasi Cognitive Radio Elsabagh]]
 +
* [[OpenBTS: 2.8 Konfigurasi Subscriber Registery]]
 +
* [[OpenBTS: Database SQLite]]
 +
* [[OpenBTS: Set SQLite Subscriber Registry secara manual]]
 +
* [[OpenBTS: Set SQLite parameter smqueue]]
 +
* [[OpenBTS: FreeSWITCH]]
 +
 +
===Multi OpenBTS 2.8===
 +
 +
* [[OpenBTS: Pola Multi OpenBTS]] '''RECOMMENDED'''
 +
* [[Multi OpenBTS: Catatan Konfigurasi]] '''RECOMMENDED'''
 +
* [[Multi OpenBTS: Catatan BSIC=NCC+BCC]]
 +
* [[Multi OpenBTS: Catatan Frekuensi Planning di GSM]]
 +
* [[Multi OpenBTS: Catatan BTS Color Code BCC di GSM]]
 +
* [[Multi OpenBTS: Catatan Network Color Code NCC di GSM]]
 +
* [[Multi OpenBTS: Catatan BCCH]]
 +
* [[Multi OpenBTS: Catatan Public Land Mobile Network PLMN]]
 +
 +
===OpenBTS 3.1.x===
 +
 +
* [[OpenBTS: Install UHD untuk USRP1]]
 +
* [[OpenBTS: UHD Identifikasi Device]]
 +
* [[OpenBTS: OpenBTS 3.1.3 Compile]] '''Tidak bisa untuk USRP1'''
 +
* [[OpenBTS: Yate Compile]]
 +
 +
===Ettus E110===
 +
 +
* [[OpenBTS: E110 Cara Login]]
 +
* [[OpenBTS: E110 Install Image di MicroSD]] '''*RECOMMENDED*'''
 +
* [[OpenBTS: E110 Cek Daughter Board]]
 +
* [[OpenBTS: E110 Mengubah Master Clock]]
 +
* [[OpenBTS: E110 Kalibrasi Clock]]
 +
* [[OpenBTS: E110 Konfigurasi Jaringan]]
 +
* [[OpenBTS: E110 Bekerja dengan opkg]]
 +
* [[OpenBTS: E110 Instalasi iptables]]
 +
* [[OpenBTS: E110 GNURadio]]
 +
* [[OpenBTS: E110 Compile UHD]] ''Not Recommended''
 +
* [[OpenBTS: E110 Compile UHD dari Release Bukan git]] ''Not Recommended''
 +
* [[OpenBTS: E110 UHD burn EEPROM RFX Board]] ''Not Recommended''
 +
* [[OpenBTS: E110 Install UHD Image]] ''Not Recommended''
 +
* [[OpenBTS: E110 Instalasi OpenBTS]]
 +
* [[OpenBTS: E110 Instalasi OpenBTS 2.6]] ''NOT RECOMMENDED''
 +
* [[OpenBTS: E110 Instalasi OpenBTS 2.8 untuk MultiBTS]] '''*RECOMMENDED*'''
 +
* [[OpenBTS: E110 Yate Softswitch]]
 +
 +
===Ettus N210===
 +
 +
* [[OpenBTS: N210 Instalasi GPSDO Kit]]
 +
* [[OpenBTS: N210 GNURadio]]
 +
* [[OpenBTS: N210 GNURadio 3.7.0]]
 +
* [[OpenBTS: N210 Instalasi OpenBTS]]
 +
* [[OpenBTS: N210 Instalasi Yate]]
 +
* [[OpenBTS: N210 Yate Config Test]]
 +
* [[OpenBTS: N210 Burn Firmware]]
 +
 +
===RangeNetworks===
 +
 +
* [[OpenBTS: RangeNetwork Foto]]
 +
* [[OpenBTS: RangeNetwork menggunakan USB recovery image]]
 +
* [[OpenBTS: RangeNetwork Default Setting]]
 +
* [[OpenBTS: RangeNetwork Instalasi UHD]]
 +
* [[OpenBTS: RangeNetwork Compile GNURadio UHD]]
 +
* [[OpenBTS: RangeNetwork Compile]]
 +
* [[OpenBTS: RangeNetwork Compile OpenBTS 2.8.0]]
 +
* [[OpenBTS: RangeNetwork Compile OpenBTS 3.1.3]]
 +
* [[OpenBTS: RangeNetwork Yate Compile]] '''*RECOMMENDED*'''
 +
* [[OpenBTS: RangeNetwork Web Interface]]
 +
* [[OpenBTS: RangeNetwork Trunk ke Asterisk Lain]]
 +
* [[OpenBTS: RangeNetwork Audit]]
 +
* [[VoIP: Trunk]]
 +
 +
===GPRS===
 +
 +
* [[OpenBTS: GPRS]]
 +
* [[OpenBTS: GPRS Konfigurasi]]
 +
* [[OpenBTS: GPRS untuk dibelakang Router dengan NAT]]
 +
 +
===Briker OpenBTS===
 +
 +
* [[OpenBTS: Briker]]
 +
 +
===FreeSWITCH OpenBTS===
 +
 +
* [[OpenBTS: FreeSWITCH]]
 +
 +
===Power Amplifier===
 +
 +
* [[Driver 900MHz]]
 +
* [[Power Amplifier 900MHz]]
 +
* [[Duplexer]]
 +
* [[OpenBTS: Menaikan Jangkauan OpenBTS]]
 +
 +
===Lain Lain===
 +
 +
* [[OpenBTS: Materi Magang di ICTWATCH]]
 +
* [[OpenBTS: Seminar Outline]]
 +
* [[OpenBTS: Workshop Outline]]
 +
* [[Membuat Base Station GSM Open Source]]
 +
* [[Teknologi Selular]]
 +
* [[GSM: Daftar Channel Frekuensi]]
 +
* [[Wireless Internet]]
 +
* [[OpenBSC]]
 +
* [[AirProbe]]
 +
* [[Base station subsystem]]
 +
* [[GSM]]
 +
* [[Asterisk]]
 +
* [[Mobile phone]]
 +
 +
===Catatan Legal dan Pendukung===
 +
 +
* [[Siapa Bilang OpenBTS Ilegal?]]
 +
* [[OpenBTS: Catatan MNC dan MCC Indonesia]]
 +
* [[OpenBTS: Catatan MNC dan MCC COOL]]
 +
* [[OpenBTS : Alokasi Frekuensi Operator GSM Indonesia]]
 +
* [[GSM: Daftar Channel Frekuensi]]
 +
 +
===Catatan Sejarah===
 +
 +
* [[2011/04/30 - Workshop OpenBTS Pertama di Indonesia dilakukan di Univ Gajah Putih Takengon Aceh Tengah]]
 +
* [[OpenBTS: Daftar Workshop atau Seminar yang pernah dilakukan]]
 +
* [[OpenBTS: Daftar Artikel di Media]]
 +
* [[OpenBTS: Permohonan Kanal dan DID untuk OpenBTS]]
 +
* [[OpenBTS: 2013/02/19 - OpenBTS TelkomSel Mengudara di Muscat Oman]]
 +
* [[OpenBTS: Beroperasi di Papua]]
 +
 +
===Dokumentasi Video===
 +
 +
* http://www.metrotvnews.com/read/newsprograms/2012/10/14/14624/212/Teknologi-BTS
 +
* http://youtu.be/8ogOcUSpINU (1/6)
 +
* http://youtu.be/F5d7HGuhppk (2/6)
 +
* http://youtu.be/90Jgq6bOgrQ (3/6)
 +
* http://youtu.be/cNkx_qNqdfc (4/6)
 +
* http://youtu.be/6LCuoeI57ak (5/6)
 +
* http://youtu.be/-dEqcHoIlYk (6/6)
 +
* http://www.youtube.com/watch?v=Ff_rw4kAOZg&feature=share
 +
 +
===Perjuangan OpenBTS===
 +
 +
* http://www.technologyreview.com/news/522371/how-remote-places-can-get-cellular-coverage-by-doing-it-themselves/?utm_campaign=socialsync&utm_medium=social-post&utm_source=twitter
 +
 +
 +
 +
[[Category: Wireless]]
 +
[[Category: Selular]]

Latest revision as of 20:16, 10 March 2014

Sumber: http://files.ettus.com/uhd_docs/manual/html/usrp2.html


Comparative features list

  • 1 transceiver card slot
  • 2 RX DDC chains in FPGA
  • 1 TX DUC chain in FPGA
  • Timed commands in FPGA (N2x0 only)
  • Timed sampling in FPGA
  • External PPS reference
  • External 10MHz reference
  • MIMO cable share reference
  • Fixed 100 MHz clock rate
  • Internal GPSDO option (N2x0 only)
  • sc8 and sc16 sample modes


Load Image ke On-board Flash (Untuk USRP-N Series)

USRP-N Series dapat di reprogram melalui jaringan untuk update atau ubah firmware atau FPGA image. Jika kita mengupdate image, selalu burn FPGA dan firmware image sebelum mematikan power Hal ini untuk memastikan agar saat device reboot, dia mempunyai image yang compatible saat booting.

Catatan: Beda revisi hardware akan membutuhkan image FPGA yang beda. Temukan nomor revisi di stiker di belakang chasis. Gunakan nomor ini untuk menentukan image FPGA yang cocok untuk device yang kita gunakan.


Gunakan tool net burner (UNIX)

<install-path>/share/uhd/utils/usrp_n2xx_net_burner_gui.py

-- ATAU --

cd <install-path>/share/uhd/utils
./usrp_n2xx_net_burner.py --addr=<ip address> --fw=<path for firmware image>
./usrp_n2xx_net_burner.py --addr=<ip address> --fpga=<path to FPGA image>

Burning image tanpa Python

Untuk user yang tidak ingin menginstalasi Python, sebuah script baru tersedia di UHD 003.005.000: USRP N2XX Simple Net Burner. Tool ini memberikan fungsi yang sama dengan tool dari Python, tapi secara default, dia akan automatis menginstalasi image default tanpa kita perlu menspesifikasikan lokasinya di command line.

Tool dapat ditemukan di: <install-path>/share/uhd/utils/usrp_n2xx_simple_net_burner

Menyelamatkan Device dan bricking

Kadang kala device masuk ke kondisi tidak stabil karena load image yang jelek / gagal. Untungnya, USRP-N Series dapat di boot ke safe image (read-only). Setelah boot ke safe image, user dapat sekali lagi load image ke device.

Tombol safe-mode adalah tombol (S2) yang berada di dalam kotak. Untuk boot ke safe image, tekan tombol safe-mode saat kita menyalakan device. Terus tekan tombol sampai kedipan LED di panel depan selesai dan menjadi nyala terus menerus.

Jika berada di safe-mode, device USRP-N selalu mempunyai IP address 192.168.10.2.

Setup Jaringan

USRP2 hanya mendukung Gigabit Ethernet dan tidak akan bekerja dengan LAN 10/100 Mbps. Akan tetapi, interface 10/100 Mbps dapat tersambung langsung ke USRP2 melalui Gigabit Ethernet switch.

Setup host interface

USRP2 berkomunikasi pada layer IP/UDP melalui gigabit ethernet. Default IP address USRP2 192.168.10.2. Kita perlu mengkonfigurasi host Ethernet interface dengan statik IP address agar dapat berkomunikasi. Di rekomendasikan untuk menggunakan address 192.168.10.1 dan subnet mask 255.255.255.0.

Di Linux, set statik IP address dapat menggunakan perintah:

sudo ifconfig <interface> 192.168.10.1

Untuk mengetahui nama <interface> yang ada di komputer kita. Jalankan perintah

ifconfig -a

Catatan: Jika menggunakan UHD software, jika IP address dari USRP2 tidak di berikan, software akan mengunakan paket UDP broadcast untuk melokalokasi USRP2 yang ada. Di beberapa sistem, firewall akan memblok paket UDP broadcast. Sangat di rekomendasikan jika kita dapat mengubah atau mendisable setting firewall tersebut.

Multiple devices per host

For maximum throughput, one Ethernet interface per USRP2 is recommended, although multiple devices may be connected via a Gigabit Ethernet switch. In any case, each Ethernet interface should have its own subnet, and the corresponding USRP2 device should be assigned an address in that subnet. Example:

Configuration for USRP2 device 0:

   Ethernet interface IPv4 address: 192.168.10.1
   Ethernet interface subnet mask: 255.255.255.0
   USRP2 device IPv4 address: 192.168.10.2

Configuration for USRP2 device 1:

   Ethernet interface IPv4 address: 192.168.20.1
   Ethernet interface subnet mask: 255.255.255.0
   USRP2 device IPv4 address: 192.168.20.2

Change the USRP2's IP address

You may need to change the USRP2's IP address for several reasons:

  • to satisfy your particular network configuration
  • to use multiple USRP2s on the same host computer
  • to set a known IP address into USRP2 (in case you forgot)

Method 1: To change the USRP2's IP address, you must know the current address of the USRP2, and the network must be setup properly as described above. Run the following commands:

cd <install-path>/share/uhd/utils
./usrp_burn_mb_eeprom --args=<optional device args> --key=ip-addr --val=192.168.10.3

Method 2 (Linux Only): This method assumes that you do not know the IP address of your USRP2. It uses raw Ethernet packets to bypass the IP/UDP layer to communicate with the USRP2. Run the following commands:

cd <install-path>/share/uhd/utils
sudo ./usrp2_recovery.py --ifc=eth0 --new-ip=192.168.10.3

Communication Problems

When setting up a development machine for the first time, you may have various difficulties communicating with the USRP device. The following tips are designed to help narrow down and diagnose the problem.

RuntimeError: no control response

This is a common error that occurs when you have set the subnet of your network interface to a different subnet than the network interface of the USRP device. For example, if your network interface is set to 192.168.20.1, and the USRP device is 192.168.10.2 (note the difference in the third numbers of the IP addresses), you will likely see a 'no control response' error message.

Fixing this is simple - just set the your host PC's IP address to the same subnet as that of your USRP device. Instructions for setting your IP address are in the previous section of this documentation.

Firewall issues

When the IP address is not specified, the device discovery broadcasts UDP packets from each ethernet interface. Many firewalls will block the replies to these broadcast packets. If disabling your system's firewall or specifying the IP address yields a discovered device, then your firewall may be blocking replies to UDP broadcast packets. If this is the case, we recommend that you disable the firewall or create a rule to allow all incoming packets with UDP source port 49152.

Ping the device

The USRP device will reply to ICMP echo requests. A successful ping response means that the device has booted properly and that it is using the expected IP address.

ping 192.168.10.2

Monitor the serial output

Read the serial port to get debug verbose output from the embedded microcontroller. The microcontroller prints useful information about IP addresses, MAC addresses, control packets, fast-path settings, and bootloading. Use a standard USB to 3.3v-level serial converter at 230400 baud. Connect GND to the converter ground, and connect TXD to the converter receive. The RXD pin can be left unconnected as this is only a one-way communication.

  • USRP2: Serial port located on the rear edge
  • N210: Serial port located on the left side

Monitor the host network traffic

Use Wireshark to monitor packets sent to and received from the device.

Addressing the Device

Single device configuration

In a single-device configuration, the USRP device must have a unique IPv4 address on the host computer. The USRP can be identified through its IPv4 address, resolvable hostname, or by other means. See the application notes on device identification. Use this addressing scheme with the single_usrp interface.

Example device address string representation for a USRP2 with IPv4 address 192.168.10.2:

addr=192.168.10.2

Multiple device configuration

In a multi-device configuration, each USRP device must have a unique IPv4 address on the host computer. The device address parameter keys must be suffixed with the device index. Each parameter key should be of the format <key><index>. Use this addressing scheme with the multi_usrp interface.

  • The order in which devices are indexed corresponds to the indexing of the transmit and receive channels.
  • The key indexing provides the same granularity of device identification as in the single device case.

Example device address string representation for 2 USRP2s with IPv4 addresses 192.168.10.2 and 192.168.20.2:

addr0=192.168.10.2, addr1=192.168.20.2

Using the MIMO Cable

The MIMO cable allows two USRP devices to share reference clocks, time synchronization, and the Ethernet interface. One of the devices will sync its clock and time references to the MIMO cable. This device will be referred to as the slave, and the other device, the master.

  • The slave device acquires the clock and time references from the master device.
  • The master and slave may be used individually or in a multi-device configuration.
  • External clocking is optional and should only be supplied to the master device.

Shared ethernet mode

In shared Ethernet mode, only one device in the configuration can be attached to the Ethernet.

  • Clock reference, time reference, and data are communicated over the MIMO cable.
  • Master and slave must have different IPv4 addresses in the same subnet.

Dual ethernet mode

In dual Ethernet mode, both devices in the configuration must be attached to the Ethernet.

  • Only clock reference and time reference are communicated over the MIMO cable.
  • The master and slave must have different IPv4 addresses in different subnets.

Configuring the slave

In order for the slave to synchronize to the master over MIMO cable, the following clock configuration must be set on the slave device:

uhd::clock_config_t clock_config;
clock_config.ref_source = uhd::clock_config_t::REF_MIMO;
clock_config.pps_source = uhd::clock_config_t::PPS_MIMO;
usrp->set_clock_config(clock_config, slave_index);

Alternative stream destination

It is possible to program the USRP device to send RX packets to an alternative IP/UDP destination. Set the subnet and gateway

To use an alternative streaming destination, the device needs to be able to determine if the destination address is within its subnet, and ARP appropriately. Therefore, the user should ensure that subnet and gateway addresses have been programmed into the device's EEPROM.

Run the following commands:

cd <install-path>/share/uhd/utils
./usrp_burn_mb_eeprom --args=<optional device args> --key=subnet --val=255.255.255.0
./usrp_burn_mb_eeprom --args=<optional device args> --key=gateway --val=192.168.10.1

Create a receive streamer

Set the stream args "addr" and "port" values to the alternative destination. Packets will be sent to this destination when the user issues a stream command.

//create a receive streamer, host type does not matter
uhd::stream_args_t stream_args("fc32");

//resolvable address and port for a remote udp socket
stream_args.args["addr"] = "192.168.10.42";
stream_args.args["port"] = "12345";

//create the streamer
uhd::rx_streamer::sptr rx_stream = usrp->get_rx_stream(stream_args);

//issue stream command
uhd::stream_cmd_t stream_cmd(uhd::stream_cmd_t::STREAM_MODE_NUM_SAMPS_AND_DONE);
stream_cmd.num_samps = total_num_samps;
stream_cmd.stream_now = true;
usrp->issue_stream_cmd(stream_cmd);

Note: Calling recv() on this streamer object should yield a timeout. Hardware Setup Notes Front panel LEDs

The LEDs on the front panel can be useful in debugging hardware and software issues. The LEDs reveal the following about the state of the device:

   LED A: transmitting
   LED B: mimo cable link
   LED C: receiving
   LED D: firmware loaded
   LED E: reference lock
   LED F: CPLD loaded

Ref Clock - 10MHz

Using an external 10MHz reference clock, a square wave will offer the best phase noise performance, but a sinusoid is acceptable. The reference clock requires the following power level:

   USRP2 5 to 15dBm
   N2XX 0 to 15dBm

PPS - Pulse Per Second

Using a PPS signal for timestamp synchronization requires a square wave signal with the following amplitude:

   USRP2 5Vpp
   N2XX 3.3 to 5Vpp

Test the PPS input with the following app:

   <args> are device address arguments (optional if only one USRP device is on your machine)
cd <install-path>/share/uhd/examples
./test_pps_input --args=<args>


Multiple RX channels

There are two complete DDC chains in the FPGA. In the single channel case, only one chain is ever used. To receive from both channels, the user must set the RX subdevice specification. This hardware has only one daughterboard slot, which has been aptly named slot A.

In the following example, a TVRX2 is installed. Channel 0 is sourced from subdevice RX1, and channel 1 is sourced from subdevice RX2:

usrp->set_rx_subdev_spec("A:RX1 A:RX2");




Referensi

Pranala Menarik

Persiapan

Script

OpenBTS 2.6

OpenBTS 2.8

Multi OpenBTS 2.8

OpenBTS 3.1.x

Ettus E110

Ettus N210

RangeNetworks

GPRS

Briker OpenBTS

FreeSWITCH OpenBTS

Power Amplifier

Lain Lain

Catatan Legal dan Pendukung

Catatan Sejarah

Dokumentasi Video

Perjuangan OpenBTS