How to connect Huawei eNSP running on Windows to GNS3 running on Linux


eNSP stands for for Enterprise Network Simulation Platform and it is program that simulates Huawei routers. This network simulator  is similar to Cisco Packet Tracert but it offers one big advantage comparing to Packet Tracert. eNSP allows to connect simulated routers to any other network devices running outside sNSP. This job can be done using either UDP tunnels or bridging  routers to the Ethernet cards presented in OS on which is eNSP installed.

The tutorial shows the necessary steps required for connecting Huawei router running inside eNSP to a Cisco router running inside GNS3. As I prefer Linux to any other OS, GNS3 is installed on Fedora Linux. During testing eNSP I had to deal  with two major issues. First of all, it is no eNSP version witten for Linux. However the issue can be overcome by VirtualBox with Windows installed on Vbox virtual machine. The second issue is the strange UDP tunnels implementation in eNSP that prevents UDP tunnels working with GNS3. For this reason I decided to use bridging approach as a workaround. In the future if UDP tunnels were properly implemented it would be probably easier to use UDP tunnels instead of bridging. In this scenario the only required bridging task would be bridging VirtualBox Ethernet card with host OS bridge. Connection between two end nodes – GNS3 router and Huawei router – would be solved by UDP tunnels.

You can read more about UDP tunnels implementation problem here.

1. Prerequisites

1.1 Host system

  • Fedora 17 Linux kernel 3.8.3-103.fc17.x86_64
  • GNS3 0.8.4 RC2 with Cisco IOS version 15.1(4)M2 for Cisco 7206VXR
  • Dynamips emulation software version 0.2.8-RC3-x86
  • VirtualBox 4.2.10
  • software for bridging – bridge-utils-1.5-3.fc17.x86_64
  • software for creating virtual tap interface on fedora – tunctl-1.5-6.fc17.x86_64

1.2 Guest system

  • Windows 7 32 bit installed on VirtualBox machine
  • eNSP version v1.0.216  installed on Windows

1.3 Physical topology

topology-cropped

Picture 1 – Physical connection – click image to enlarge

As you can see both routers interfaces are connected to virtual interfaces. The Cisco router is connected to tap0 and Huawei router to MS loopback interface. The virtual interfaces are connected to virtual bridges that are created in Linux and Windows respectively. Bridges are represented by switch icons in a topology. A function of virtual bridge is to connect a virtual interface with hardware based Ethernet interface.

1.4 Logical topology

topology-logical-cropped

Picture 2 – Logical connection

2. Linux Part

In this part we are going to create a virtual tap interface and a bridge interface on Fedora Linux. Once the bridge is created, Ethernet interface p3p1 and tap interface can be added to the bridge. The exact steps for configuration bridge on Fedora Linux are described here:

https://brezular.wordpress.com/2011/06/19/bridging-qemu-image-to-the-real-network-using-tap-interface/

Note Instead of the Ethernet interface eth0 use and actual interface presented in your system. In my case the interface name is p3p1.

Once you finished the steps 1-5, skip a step 6 and assign the following IP address to the interface p3p1:

sudo ifconfig virbr0 192.168.0.100/24

You can also configure the default gateway IP address. In my network it is a router with the IP address 192.168.0.1

sudo route add default gw 192.168.0.1

Now you can continue with step 7 – disabling Ethernet filtering. It is the last step, as we are going to use VirtualBox to run Windows instead of Qemu.

3. GNS3 Part

3.1 Cloud configuration

In GNS3, move a cloud device from the left panel to the GNS3 desktop. The cloud device bridges GNS3 router to the host system – Fedora. In the  cloud settings navigate to NIO TAP tab. Add a new interface tap0 as it is shown at the picture.

picure1

Picture 3 -Adding interface tap0 to the cloud configuration

3.2 Connecting  the Cisco router to the  cloud and  router configuration

The connection is shown at the picture. For Cisco 7206VXR you should add Ethernet module to the router first.

picture2-cropped

Picture 4 – Connecting Cisco 7206VXR with a cloud device

Configure IP address 192.168.0.150/24 for the interface GigabitEthernet0/0. Once you finished you should be able  to ping IP address of Linux virbr0 interface – 192.168.0.100

picure3

Picture 5 – Cisco Router configuration

After configuration of the static default route you should be able to ping devices on the Internet as well.

picure4

Picture 6 – Pinging Google IP address – 4.2.2.2

4. VirtualBox part

This is the most largest part of this How-to containing  the  following tasks.

4.1 Creating a new Guest Vbox machine and installing Windows 7 on VM

Windows installation on VirtuaBox virtual  machine is not shown as it is detailed described in a step 2 of the following tutorial.

https://brezular.wordpress.com/2013/03/18/how-to-connect-cisco-7206vxr-running-inside-gns3-on-linux-to-cisco-configuration-professional-2-2/

To copy a Huawei installation exe file from the host system – Fedora to the guest system – Windows read the steps 3.2 and 3.3 of the tutorial.

4.2 Configuring VirtualBox for bridging support

Once you are finished with Windows installation, shutdown Windows.  On the left panel of VirtualBox manager is presented a virtual machine you previously created in step 4.1.  Left click on this machine and select options Settings. Navigate to option Network and switch to the Adapter 1 tab. Configure Adapter 1 settings as following.

picure5

Picture 7 – Bridging  Adapter1 of the guest OS – Windows with Linux bridge  interface virbr0

After configuration the first VirtualBox Ethernet card is bridged with Linux Fedora bridge – interface virbr0.

4.3 Huawei eNSP, Wireshark, WinPcap installation

Now you can start your VBox machine. Once Windows boots up eNSP installation file should be attached to CDROM. Left click on the file and select an option Run as administrator. You will be prmpted to install also WinPcap and Wireshark  that are needed if packet sniffing is required.

picure6

Picture 8 – WinPcap and Wireshark installation

4.4 Creating a MS loopback interface and virtual bridge  in Windows.

In order to connect Huawei instance to the Ethernet interface presented in Windows we have to create Microsoft loopback interface and bridge both interfaces together. A new device – bridge will be automatically created and containing attached both – MS loopback and Ethernet interfaces.

a) Microsoft loopback device installation

Click the Start menu and search for cmd. Right-click on cmd and select Run as Administrator. Enter keyword hdwwiz.exe.

In the Welcome to the Add Hardware Wizard, click Next. Select Install the hardware that I manually select from a list (Advanced) and click Next. Scroll down and select Network adapters and click Next. Select under Manufacturer Microsoft and then under Network Adapter Microsoft Loopback Adapter and click Next.

picure7

Picture 9 – MS loopback adapter installation

b) Bridging MS loopback and  Ethernet interface

Navigate to Start-> Control Panel-> View Network status and tasks -> Change adapter settings. A new created loopback interface should be presented. Mark both interfaces and click on them with the left mouse button. Select option  Bridge connections.

picure8

Picture 10 – Bridging MS loopback adapter and Ethernet interface

A new device – bridge should be created as it is shown on the picture. Assign IP address 192.168.0.200/24 to the bridge.

picure9

Picture 11 – IP address configuration for the bridge device

You should be able to ping bridge IP address 192.168.0.200  from the router 7206VXR ge0/0 interface.

picure10

Picture 12 – Pinging Windows bridge IP address from Cisco 7206VXR

5. Huawei Part

5.1 Binding Huawei router interface with the Windows loopback interface

Launch Huawei eNSP and drag & drop router to eNSP desktop. Left click on the router and select option Settings. Bind Huawei router’s interface Ethernet0/0/0 with the MS loopback interface as it is shown at the picture.

picure11

Picture 13 – Binding Huawei interface Ethernet0/0/0  with MS loopback interface

Note If the loopback interface or bridge is not available in the list of Adapters, restart Windows and launch Settings option again.

5.2  Huawei router configuration

Start a router and select CLI option. Configure IP address 192.168.0.250/24 for the interface Ethernet0/0/0.

picure12

Picture 14 – IP address configuration on Huawei

You should be able to ping IP address 192.168.0.100 of Linux bridge from Huawei CLI and IP address 192.168.0.150 assigned to Cisco 7206VXR as well. Configuring a static default route pointing to the default gateway IP address 192.168.0.1 you connect your Huawei to the Internet.

picure13

Picture 15 – Static default route configuration on  Huawei router

END.

Used links
http://lifeoflogs.blogspot.com/2011/04/cisco-vs-huawei-essential-command.html
http://social.technet.microsoft.com/Forums/en-US/w7itpronetworking/thread/259c7ef2-3770-4212-8fca-c58936979851/

How to connect Cisco 7206VXR running inside GNS3 on Linux to Cisco Configuration Professional 2.2


The article shows how to connect router Cisco 7206VXR running inside GNS3 Linux version with Cisco Configuration Professional 2.2 (CCP). According to the reference ccp_rel_notes sheet the only router available in GNS3 and supported by CCP together is Cisco 7206VXR.

Note:   Cisco IOS running on the router should minimum  12.4(9)T version. WAN connection for 7206VXR is not supported by CCP. The CCP above version 2.3 does not support 7206VXR at all.

The Cisco Configuration Professional is currently supported only on Windows platforms thus we have to install CCP in to a virtual machine with installed Windows. The virtual machine is powered by one of two virtualizers – Qemu and VirtualBox  supported by GNS3. Thanks to the native support of these virtualizers, a virtual machine can be managed directly from GNS3 environment.

1. Prerequisites

1.1 Cisco Configuration Professional version 2.2

CCP is free of charge but  you need to have a valid CCO account in order to download it. Visit the Cisco website and register.

download-ccp

Picture 1 – CCP download page

Once you are logged you can download CCP from here.

1.2 Host system – any Linux OS with  GNS3 and VirtualBox installed

Even I  prefer Qemu to VirtualBox , VirtualBox must be used in order to run CCP successfully. First I tried to run CCP from virtual machine powered by Qemu but graphic was not shown properly. Thus using VirtualBox is absolutely necessary. For this reason the tutorial is showing Windows installation on VirtualBox.
I installed VirtualBox from VirtualBox repository. The following tutorial shows an installation and configuration VirtualBox on Fedora Linux.

https://brezular.wordpress.com/2011/08/02/virtualbox-0-4-1-installation-and-configuration-for-gns3-0-8-0-on-fedora-15-linux/

1.3 Guest System – Windows

These are software requirements.

  • Windows XP with SP2 or later or Microsoft Windows 7 32 bit.
  • Internet Explorer 6.0 or above.
  • Java Runtime Environment JRE versions minimum 1.5.0_11 upto 1.6.0_17 are supported.
  • Adobe Flash Player Version 10.0 or later, with Debug set to No

2. Creating a new VirtualBox machine

Start VirtualBox with command virtualbox. Navigate to Machine -> New.  

picture1

Picture 2 – Creating a new VirtualMachine

Click on Next button.  In next window assign 2048 MB RAM memory to the virtual machine and again continue with Next button. In the next windows choose option Create a virtual hard drive now and click on Create button.  The next window shows the list of hard drives type that could be chosen.  Select VDI (VirtualBox Disk Image) and continue with the Next button.

In next window you can select storage on physical hard drive. Choose Dynamically allocated and click on Next button again. Define maximum size of the image in the next window as it is shown on the picture.

picture3

Picture 3 – File location and size

Now you have successfully created a new virtual machine. Now we are going to tell your newly created virtual machine to use Windows installation ISO image.  Left lick on this machine and choose option Settings. Navigate to Storage option,  click on the option  Empty under Controller:  IDE and finally click on the icon representing CD as it is shown at the picture.

picture4

Picture 4 – Mount ISO image

Now select option Choose a virtual CD/DVD disk file and select path to  your Windows ISO image. Then click on OK button. Once you are ready, power up your virtual machine and begins Windows installation.

picture5

Picture 5 – Windows installation

The next step is to change screen resolution to at least 1024 x 768 as it is required by CCP. Shutdown Windows.

3. Cisco Configuration Professional, Java Runtime Environment JRE and Adobe Flash Player Installation

Once your Windows is ready you can install CCP and JRE and Flash player on it. Basically they are two possibilities how to do it.  If your Linux distribution is connected to the Internet then the Windows  connected to the Internet as well. In this case you can  download the files directly from Windows. In case you do not want to download them from Windows do the following.

3.1 Download CCP, JRE, Adobe Flash Player and place them to the directory ~/temp

Cisco Configuration Professional version 2.2
JRE 1.6.0_17
Adobe Flash Player 11

3.2 Create ISO image cccp.iso containing a directory temp

mkisofs -o cd.iso -J ~/temp

3.3 Configure VirtualBox machine to let VirtualBox mount file cd.iso  to CDROM and install the files

Note: This step is similar to the step shown on the picture 4. Just change path to directory  ~/cd.iso.

Once you are ready install all three files  as administrator – Right click on file and choose Run as administrator.

3.4 Configure Java Runtime Environment Settings

According to this article you must configure JRE to run Cisco CP to function properly. Go to Start ->  Control Panel and select View by small icons option in the right corner then click on Java. Select Java table and click on View button. Set the Runtime parameters with the value -Xmx256m -Dsun.java2d.d3d=false.

picture6

Picture 6 – Java Runtime parameters configuration

In addition, if JRE is upgraded to versions 1.6.0_11 or above, the following settings are needed to configure.  Go to Start-> Control Panel-> Java-> Advanced. Select Java Plug-in in tree. Uncheck the check box for Enable next-generation Java Plug-in.

picture7

Picture 7 – Advanced parameters configuration

3.5  Start Cisco Configuration Professional

Right click on CCP icon and choose Run as administrator. Enable Windows firewall to allow Java to communicate with private and public networks.

Note: Always start CCP as administrator otherwise CCP stucks on loading step. Now you may shutdown Windows.

4. GNS3 Configuration for Cisco Configuration Professional Support

4.1 Configure GNS3 to support VirtualBox

 Navigate to Edit-> Preferences-> VirtualBox and  press Testing Settings  button.

picture8

Picture 8 – Testing VirtualBox General settings

Switch to VirtualBox Guest tab.  Configure parameters as it is shown at the picture.

picture9

Picture 9 -  VirtualBox Guest configuration

4.2 Configure GNS3 to support Dynamips

Dynamips is a software that emulates Cisco IOS on a traditional PC. Navigate to Edit-> Preferences-> Dynamips-> Dynamips and press Test Settings button.

picture10

Picture 10 -  Testing Dynamips settings

Now you can switch to Edit-> IOS images and hypervisors-> and click on Testing button. If  your settings are correct you should see a new popup console window booting your IOS.

picture11

Picture 11 -  IOS Images configuration

5. Cisco Configuration Professional Testing

Assuming that you successfully configured GNS3 for Dynamips and VirtualBox support we are going to create our testing topology.

picture12Picture 12 -  Testing Topology

5.1 Configure Cisco 7206VXR for Cisco Configuration Professional

Start a router and configure following.

7206VXR(config)# enable secret cisco
7206VXR(config)# ip http server
7206VXR(config)# ip http secure-server
7206VXR(config)# username admin privilege 15 secret cisco
7206VXR(config)# ip http authentication local

7206VXR(config)# line vty 0 4
7206VXR(config-line)# privilege level 15
7206VXR(config-line)# login local
7206VXR(config-line)# transport input telnet
7206VXR(config-line)# transport input telnet ssh
7206VXR(config-line)# exit

7206VXR(config)# interface fastEthernet 1/0
7206VXR(config-if)# ip address 192.168.1.1 255.255.255.0
7206VXR(config-if)# no shutdown
7206VXR(config-if)# do write

5.2  Configure Cisco Configuration Professional

Start virtual machine. Once a Windows boots up assign IP address 192.168.1.2/24 to Ethernet interface marked as Unidentified network.

picture13Picture 13 -  Network Settings configuration for Windows

5.3  Check if connection exist between the router and Vbox guest

Issue ping from  to Windows the router.

picture14

Picture 14 -  Pinging Windows from the router

5.4 Configure Cisco Configuration Profesional for router management

Start CCP as administrator and enter IP address, username and password for device in the community.  Click on OK button and click on Discover button.

picture16

Picture 15 -  Device Configuration for a community a New Community

Discover process takes some time. Once it finished notice Discovery status. Device should be in Discovered state.

picture17

Picture 16 -  Device successfully discovered by CCP

picture18

Picture 17 -  Device details

How to upgrade Titanium VMware image running on Qemu


Following steps help you to upgrade your Titanium VMware image version 5.1.2 to  version 5.2.1 or higher.

Prerequesities
Host system – any Linux OS
Guest system -  Titanium 5.1.2 installed VMware image
Emulator – any version Qemu able to run vmdk images
Titanium binaries – titanium-d1.5.2.1.gbin and titanium-d1-kickstart.5.2.1.gbin

1. Use Qemu to boot VMware Titanium image

/usr/local/bin/qemu-system-i386 -m 2049 ./Titanium-VM-5.1\(2\)-cl1-flat.vmdk  -serial \ telnet:0.0.0.0:3000,server,nowait -smp 2,cores=4

Use telnet to connect to the serial port of Titanium.

telnet localhost 3000

2. Configure following IP address to Titanium management interface mgmt0

N7K-2(config)# interface mgm0
N7K-2(config-if)# ip address 10.0.2.15 255.255.255.0
N7K-2(config-if)# no sh

The default gateway IP address is 10.0.2.2/24.

3. Use secure copy to copy files to bootflash directory

First, you have to place both files – titanium-d1.5.2.1.gbin and titanium-d1-kickstart.5.2.1.gbin to your home directory. Then use following command.

N7K-2# copy scp://brezular@10.0.2.2/home/brezular/titanium-d1.5.2.1.gbin  bootflash:
Enter vrf (If no input, current vrf ‘default’ is considered): management

N7K-2# copy scp://brezular@10.0.2.2/home/brezular/titanium-d1-kickstart.5.2.1.gbin  bootflash:
Enter vrf (If no input, current vrf ‘default’ is considered): management

4. Check if files are saved in a bootflash directory

bootflash

Picture 1 – Content of Titanium bootflash directory

5. Configure Titanium to boot new Titanium binaries

N7K-2(config)# boot kickstart bootflash:/titanium-d1-kickstart.5.2.1.gbin
N7K-2(config)# boot system bootflash:/titanium-d1.5.2.1.gbin

Finally, save your new configuration and reboot. Once Titanium boots up check a version.

 

version_check

Picture 2 – the Titanium version 5.2.1

6. Upgrade to version higher than 5.2.1

So far upgrade from version 5.1.1. to version 6.1.1 has been succesful. Upgrade from version 5.2.1 to 6.1.1 is not working – image goes in to a bootloop.

titanium-6.1.1

Picture 3 – the Titanium version 6.1.1

How to connect Cisco NX-OS emulator – Titanium 5.1.2 – installed on VMware to GNS3


Titanium is Cisco Nexus Operating System NX-OS emulator made by Cisco. A copy of Titanium 5.1.(2) installed on VMware image has recently leaked to the Internet and now we can use it for our studies.
The tutorial shows how to do connect Titanium VMware image to GNS3 using Qemu emulator. As GNS3 has built-in support for Qemu and Qemu can work with VMware vmdk images no cloud connection is needed for connection to external devices.

Used Software
GNS3 0.8.3.1 installed on Fedora 17 Linux
NxOS Emulator Titanium 5.1(2) VMware image
Qemu 1.3.0

1. Configure Qemu Guest Settings

Assuming that you have Qemu emulator installed and working set Qemu Guest settings as following.

Edit-> Preferences-> Qemu-> Qemu Guest

Qemu_guest_settings

Picture 1 GNS3 – Qemu Guest settings

2. Create a new GNS3 project

File-> New blank project

a_new_project

Picture 2 GNS3 – New Project

3. Create your topology

Two Titanium instances are connected to 3725 router occupied with NM-16SW module. Titanium ports eth2/1 and mgmt0 are routed L3 ports connecting instances each other. There are also switched trunk ports eth2/2 on both Titanium instances connecting instances to the router 3725..  For layer3 connectivity  interfaces vlan1 are created on both instances.
topology-cropped

Picture  3 GNS3 – Topology

Ports f1/0 and f1/1 are interfaces located on NM-16SW module that is inserted in the router 3725. Both ports are L2 trunk ports connected to Titanium instances. For L3 connectivity interface vlan 1 is created on the router.

4. Titanium configuration

Use console (Right click on device) to connect to device serial port. Username/password for Titanium is admin/cisco.

titanium
Picture 4 Titanium login

Now,  check Titanium version.

titanium_version

Picture 5 Titanium version

Check presented modules.

titanium1_mudule

Picture 6 Presented modules

From what we see,  one management port mgmt0 and one Ethernet module with 9 interfaces are presented in Titanium1. To ping IP address of management interface just issue command:

titanium1_ping_mgmt0

Picture 7 Pinging management interface

As interface mgmt0 is up on both Titanium instances by default instances should see each other using CDP protocol.

titanium1_cdp_titanium2

Picture 8 L2 connection is working on routed eth2/1 ports of Titanium

Now configure particular IP addresses for eth2/1 interfaces on both  Titanium instances. Once IP addresses are assigned to the interfaces we should ping instances  each other.

titanium1_eth2_1

Picture 9 L3 connection is working on routed ports of Titanium

Create VLAN 10 and configure ethernet 2/2 as a L2 trunk port. In order to create layer3 vlan interface, following command has to be issued.

titanium1_eth2_2_vlan

Picture 10  Titanium1 Vlan, trunk a vlan interface configuration

Once vlan1 interface has been brought up a warning message “crashed service netstack” has appeared as it is captured at the picture. However we can still ping vlan1 inetrface IP address 192.168.3.1 as it is shown at the picture.

titanium1_ping_vlan1

Picture 11 Pinging vlan1 interface IP address

We have finished Titanium1 configuration.  Configure router 3725 as following.

3725_config

Picture 12 Router 3725 configuration

Test if we can ping vlan10 IP address 192.168.3.3 locally from CLI of router 3725.

3725_local_vlan1_ping

Picture 13 Pinging local interface vlan10 on router 3725

 Router 3725 Vlan1 interface seems to be up and reachable. The other task is to ping vlan10 interface of Titanium1. As you can see at the picture, once we issue ping to 192.168.3.1 from router 3725, Titanium instance completly crashed and reboot itself.

titanium1_crash

Picture 14 Titanium1 crash

Conclusion

I’ve tested this scenario several times and every time I issued ping either from the remote end device, Titanium emulator crashed and rebooted. My conclusion is that Titanium  is not ready for use in home lab and the real world scenario testing is impossible. As one guy said on the forum it is just feeling of NX-OS.
Hoping for the best, everything may be changed with the next version of Titanium.

My Personal Fedora 17 After Install Guide


You are now reading my personal Fedora 17 after install guide. It solves specific problems related to my ASUS-K55VM-SX170V laptop.  The guide will take you through each step of installation of missing drivers for Intel wireless card, Realtek card reader and NVIDIA graphic card. It also shows installation of software that is not open-source but daily used by many Fedora users.  I hope you will be able to  tweak your Fedoran according to your needs.

Installation of missing drivers

1) Intel wireless card is not detected

dmesg | grep firmware
[    2.591597] psmouse serio4: elantech: assuming hardware version 4 (with firmware version 0x361f03)
[   15.612347] iwlwifi 0000:03:00.0: request for firmware file ‘iwlwifi-2030-6.ucode’ failed.
[   15.613277] iwlwifi 0000:03:00.0: request for firmware file ‘iwlwifi-2030-5.ucode’ failed.
[   15.613282] iwlwifi 0000:03:00.0: no suitable firmware found!

Install missing firmware and reboot the system.

sudo yum install iwl2030-firmware

Reference:
http://ask.fedoraproject.org/question/2254/wifi-not-detected-fedora-17

2) Realtek 5289 card reader

As it is mentioned here we must compile Realtek reader from sources.

Reference
http://forums.gentoo.org/viewtopic-t-922794-start-0.html

a) Download a driver

wget https://bugs.launchpad.net/bugs/971876/+attachment/2991730/+files/rts_bpp.tar.bz2
tar jxf rts_bpp.tar.bz2
cd rts_bpp

b) Compile and install driver

make
sudo make install
cp rts_bpp.ko /lib/modules/3.6.5-1.fc17.x86_64/kernel/drivers/scsi -f

c) Add rts_bpp do the list of modules and load the module to kernel

sudo depmod
sudo modprobe rts_bpp

SD Card is now automatically created as dev/sdb1 and mounted to /run/media/your_username.

Note  I uploaded rts_bpp.tar.bz2 to my 4shared account. The file is here:

http://www.4shared.com/file/BJ9cutqk/rts_bpptar.html

3) Install proprietary NVIDIA driver and Optimus

My step-by-step guide describing installation NVIDIA proprietary driver on Fedora is available here.

http://brezular.wordpress.com/2012/11/08/bumblebee-nvidia-installation-on-fedora-to-support-nvidia-optimus-technology-under-linux/

Installation of additional software

1) RPM fusion

RPM Fusion provides software that the Fedora Project does not want to ship. To enable access to both the free and the nonfree repository use the following command:

su -c 'yum localinstall --nogpgcheck http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm'

su -c 'yum localinstall --nogpgcheck http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm'

Reference
http://rpmfusion.org/Configuration/

2) Video and Audio player, audio and video codec

a) Install audio and video codecs

sudo yum install gstreamer gstreamer-plugins-good gstreamer-plugins-bad gstreamer-plugins-ugly gstreamer-ffmpeg

b) FFMpeg

yum install ffmpeg ffmpeg-libs

c) K3b MP3 decoder plugins

yum install k3b-extras-freeworld

d) DVD playback

sudo yum install libdvdread libdvdnav lsdvd

e) Audacity with mp3 support

sudo yum remove audacity
sudo yum install audacity-freeworld

Reference
http://smashingweb.info/fedora-17-post-installation-guide-things-to-do-after-installing-fedora-17/

f) VLC video player

sudo yum install vlc

g) Nautilus

sudo yum install nautilus

If you want to make Nautilus  a default file manager go to Settings -> System Settings-> Default Application-> File Manager-> Default Component and choose Other. Set path to Nautilus.

3) Xvidcap

Xvidcap is software for desktop recording. It seems that xvidcap rpm has not be yet created for Fedora17  so we need to compile it.

a) Install dependencies

sudo yum install libglade2.x86_64 libglade2-devel.x86_64 libXmu.x86_64 libXmu-devel.x86_64 lame-devel.x86_64 ffmpeg-devel.x86_64

b) Download xvidcap  and extract it

wget http://sourceforge.net/projects/xvidcap/files/xvidcap/1.1.7/xvidcap-1.1.7.tar.gz -P ~/Downloads/

cd ~/Downloads
tar zxvf xvidcap-1.1.7.tar.gz

c) Compile and install xvidcap

cd xvidcap-1.1.7/

./configure LIBS="-lX11 -lz  -lXext"

Edit ./src/xvidcap-client-bindings.h.   Find any #include <glib/*.h> and replace it with #include <glib.h>

Change following lines

#include <glib/gtypes.h>
#include <glib/gerror.h>
#include <dbus/dbus-glib.h>

to

#include <glib.h>
#include <dbus/dbus-glib.h>

Now you can compile xvidcap source:

make
sudo make install

Binary is stored in /usr/local/bin/xvidcap

Reference
http://www.linuxquestions.org/questions/slackware-14/glib-on-current-mon-jul-30-20-42-03-utc-2012-a-4175419660/

4) Script for converting video files to mp3

I wrote a bash script that helps you to convert your video file to audio format. First you have to install following packages.

sudo yum install lame mencoder

Download script from here and copy it to the directory where your video files are located. Assign run privileges to the script.

chmod +x ./video_to_mp3.sh

5) Flash plugin

a) Enable Adobe 64-bit x86_64 YUM repository

sudo rpm -ivh http://linuxdownload.adobe.com/adobe-release/adobe-release-x86_64-1.0-1.noarch.rpm

b) Install Adobe Flash Player

sudo yum install flash-plugin nspluginwrapper alsa-plugins-pulseaudio libcurl

Reference
http://www.if-not-true-then-false.com/2010/install-adobe-flash-player-10-on-fedora-centos-red-hat-rhel/

6) Google Chrome

a) Enable Google Chrome repository

sudo rpm --import https://dl-ssl.google.com/linux/linux_signing_key.pub

su -c 'echo "[google]
name=Google Chrome 64-bit
baseurl=http://dl.google.com/linux/chrome/rpm/stable/x86_64" >> /etc/yum.repos.d/google.repo'

b) Install Google Chrome

sudo yum install google-chrome-stable

Reference
http://smashingweb.info/fedora-17-post-installation-guide-things-to-do-after-installing-fedora-17/
http://www.if-not-true-then-false.com/2010/install-google-chrome-with-yum-on-fedora-red-hat-rhel/

7) Gtalk plugin

a) Download plugin from website

https://www.google.com/chat/video/download.html?platform=linux_fedora_x86_64

b) Install Gtalk plugin – yum takes care for dependencies

sudo yum localinstall ~/Downloads/google-talkplugin_current_x86_64.rpm

8) Skype

Download Skype and install it.

http://www.skype.com/intl/en/get-skype/on-your-computer/linux/downloading.fedora

sudo yum localinstall  ~/Downloads/skype-4.0.0.8-fedora.i586.rpm

9) Temviewer

Teamviewer is software for remote control computers  over the Internet. Download it and install via yum.

wget http://www.teamviewer.com/download/teamviewer_linux.rpm

sudo yum localinstall ./teamviewer_linux.rpm

Teamviewer binary is installed in directory /opt/teamviewer/teamviewer/7/bin/

Reference
http://www.teamviewer.com/en/index.aspx

10) Archive tools – Unrar, 7-zip

sudo yum install unrar p7zip p7zip-plugins

11) Acrobat Reader

a) Enable Adobe Repository

sudo rpm -ivh http://linuxdownload.adobe.com/adobe-release/adobe-release-i386-1.0-1.noarch.rpm
sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-adobe-linux

b) Install Adobe Reader

sudo yum install AdobeReader_enu

Reference
http://www.if-not-true-then-false.com/2010/install-adobe-acrobat-pdf-reader-on-fedora-centos-red-hat-rhel/

12) Microsoft Truetype Fonts

a) Download the latest msttcorefonts spec file

wget http://corefonts.sourceforge.net/msttcorefonts-2.5-1.spec

b) Install necessary packages

sudo yum install rpm-build ttmkfdir cabextract

c) Build rpm package

rpmbuild -bb ~/Downloads/msttcorefonts-2.5-1.spec

d) Get info about built rpm package

sudo rpm -qip ~/rpmbuild/RPMS/noarch/msttcorefonts-2.5-1.noarch.rpm
Name        : msttcorefonts
Version     : 2.5
Release     : 1
Architecture: noarch
Install Date: (not installed)
Group       : User Interface/X
Size        : 5759020
License     : Spec file is GPL, binary rpm is gratis but non-distributable
Signature   : (none)
Source RPM  : msttcorefonts-2.5-1.src.rpm
Build Date  : Sat 03 Nov 2012 11:58:53 PM CET
Build Host  : K55VM
Relocations : (not relocatable)
Packager    : Noa Resare <noa@resare.com>
Summary     : TrueType core fonts for the web
Description :
The TrueType core fonts for the web that was once available from
http://www.microsoft.com/typography/fontpack/. The src rpm is cleverly
constructed so that the actual fonts are downloaded from Sourceforge’s site
at build time. Therefore this package technically does not ‘redistribute’
the fonts, it just makes it easy to install them on a linux system.

e) Install package msttcorefonts-2.5-1.noarch.rpm package

sudo rpm -ihv /home/brezular/rpmbuild/RPMS/noarch/msttcorefonts-2.5-1.noarch.rpm

Note
My msttcorefonts rpm package compiled for x86_64 Fedora 17 is available for download here:

http://www.4shared.com/file/Zw11Kr0V/msttcorefonts-25-1noarch.html

Reference
http://corefonts.sourceforge.net/
http://www.mjmwired.net/resources/mjm-fedora-f16.html#ttf

13) Make local NTFS Windows partition accessible from Fedora

Let’s say we have dual-boot Fedora Linux and  Windows and we want to have an access to Windows partition from Fedora. In order to do it  we have to add line to /etc/fstab to mount Windows NTFS disk /dev/sda3 permanently.  But first we need to found out UUID of that NTFS disk.

sudo blkid
/dev/sda1: UUID="18C2-59D1" TYPE="vfat"
/dev/sda3: LABEL="System" UUID="9268E0C668E0A9E5" TYPE="ntfs"
/dev/sda4: LABEL="Backup-image" UUID="DC22520E2251EDD0" TYPE="ntfs"
/dev/sda5: SEC_TYPE="msdos" UUID="1219-029F" TYPE="vfat"
/dev/sda6: UUID="885221c2-b3ef-44da-9128-d9cbc4ea31f4" TYPE="ext4"
/dev/sda7: UUID="35d38bda-9750-4f90-afd8-d2b6a6fae43e" TYPE="ext4"
/dev/sda8: UUID="320b75ba-7b92-46dc-bbb2-0d5e5c5dbae7" TYPE="swap"
/dev/sda9: UUID="f069a887-6fc9-4e1d-983a-50a04d0aea85" TYPE="ext4"

Create a mount point – directory /mnt/win_c/

sudo mkdir /mnt/win_c/

su -c 'echo "UUID=9268E0C668E0A9E5 /mnt/win_c ntfs-3g defaults 1 1" >> /etc/fstab'

Mount all filesystems mentioned in fstab.

sudo mount -av
/                        : ignored
/boot                    : already mounted
/boot/efi                : already mounted
/home                    : already mounted
swap                     : ignored
/mnt/win_c               : successfully mounted

Windows NTFS partition is now accessible from Fedora.

Reference
http://www.cyberciti.biz/faq/linux-finding-using-uuids-to-update-fstab/

14) Access remote Linux partitions from Fedora

a) Install fuse-ssh package

sudo yum install sshfs

b) Configuration example

Let’s say we have Linux installed on a computer with IP address 172.18.100.141/16. We want to mount a remote directory /home/brezular/ on that box to the directory ~/temp  on local PC running Fedora. IP address of the local computer is 172.18.100.142/16.  The following command mount remote directory to local temp directory on Fedora.

sshfs brezular@172.18.100.141:/home/brezular/ ~/temp/

15) Samba Installation and Configuration

Let’s say we want to have home directory /home/brezular/ owned by user “brezular” to be accessible from remote computer running Windows.  In order to do it we have to install and configure Samba server on Fedora.

a) Install Samba package

sudo yum install samba system-config-samba

b) Edit Samba configuration file and set paramater “browseable” to “no” in a home section

sudo vi /etc/samba/smb.conf

[homes]
comment = Home Directories
browseable = no
writable = yes

c) Add samba user “brezular” and type password

Password does not have match Linux password for Linux user “brezular” but user “brezular” must have been a valid Linux user listed in /etc/passwd.

sudo smbpasswd -a brezular

d) Start Samba services smb and nmb

sudo systemctl start smb.service nmb.service

Make Samba service to be started after restart.

sudo systemctl enable smb.service nmb.service

e) Enable Samba services through firewall

sudo system-config-firewall

Add service samba to the list of trusted services.

f) SELinux

We have to configure selinux policy to get Samba working. Install system-config-selinux package.

sudo yum install policycoreutils-gui

Configure SELinux policy.

sudo system-config-selinux

Navigate to Boolean and set Filter to samba. Set option – Allow samba to share home directories.

Reference
http://www.mjmwired.net/resources/mjm-fedora-f17.html#samba
http://www.howtoforge.com/fedora-17-samba-standalone-server-with-tdbsam-backend

16) GNS3 and associated software installation

GNS3 is based on Dynamips and Dynagen (a text-based front-end for Dynamips) to create a complete virtual Cisco network, adding many additional features and most importantly making it easy to create, change and save your network topologies. It was also extended for Qemu virtualizer/emulator and VirtualBox support. The tutorial about installation GNS3 and associated software on Fedora is here.

http://brezular.wordpress.com/2012/11/14/gns3-on-fedora/

Reference
http://www.gns3.net/

GNS3 on Fedora


GNS3 is based on Dynamips and Dynagen (a text-based front-end for Dynamips) to create a complex virtual Cisco networks, adding many additional features and most  importantly making it easy to create, change and save your network topologies. It was also extended for Qemu virtualizer/emulator and VirtualBox support.

Reference
http://www.gns3.net/

In next few steps we will show how to install GNS3 and other additional software such as Dynamips, Qemu, VirtualBox and cpulimit on Fedora Linux.

1.  Dynamips

Dynamips is a software that emulates Cisco IOS on a traditional PC. It has been made by Christophe Fillot who started his work in August 2005. Dynamips Linux binaries for x86/x86-64 architecture can be downloaded from GNS3 website:

http://www.gns3.net/dynamips/

Once you download it copy Dynamips  to /usr/local/bin.

sudo cp ~/Downloads/dynamips-0.2.8-RC3-community-x86_64.bin /usr/local/bin

Assign run privilegies to the binary with following command.

chmod +x /usr/local/bin/dynamips-0.2.8-RC3-community-x86_64.bin

If you wish to compile Dynamips by your own in order to  achieve better performance,  here is my tutorial.

http://brezular.wordpress.com/2011/03/14/dynamips-0-2-8-rc3-installation-from-source-on-linux-fedora/

Reference:
http://en.wikipedia.org/wiki/Dynamips

2. VirtualBox

VirtualBox is a powerful x86 and AMD64/Intel64 virtualization product for enterprise as well as home use. The following guide helps you to download and install the latest VirtualBox from repository. It also shows how to configure GNS3 for VirtualBox support.

http://brezular.wordpress.com/2011/08/02/virtualbox-0-4-1-installation-and-configuration-for-gns3-0-8-0-on-fedora-15-linux/

Reference
https://www.virtualbox.org/

3.  Qemu

QEMU is a generic and open source machine emulator and virtualizer. Qemu compilation and installation on Fedora is explained here in detail.

http://brezular.wordpress.com/2012/02/12/installation-solaris-sparc-2-6-sunos-5-6-on-qemu-part-1-qemu-installation/

Reference
http://wiki.qemu.org/Main_Page

4.  Kernel Based Virtual Machine KVM

KVM (for Kernel-based Virtual Machine) is a full virtualization solution for Linux on x86 hardware containing virtualization extensions (Intel VT or AMD-V). A tutorial describing kvm installation on Fedora is here.

http://brezular.wordpress.com/2012/11/07/%EF%BB%BFkvm-installation-on-fedora/

Reference
http://www.linux-kvm.org/page/Main_Page

5.  CPU limit

Cpulimit is a simple program which attempts to limit the cpu usage of a process (expressed in percentage, not in cpu time).

a) Install git-core package

yum install git-core

b) Get the last pulimit from git and compile it

cd ~/Downloads
git clone https://github.com/opsengine/cpulimit.git

cd ~/Downloads/cpulimit

Compile source and copy binary to /usr/local/bin.

make
sudo cp ./src/cpulimit /usr/local/bin

Reference
http://cpulimit.sourceforge.net/

6.  GNS3

Finally, download and extract GNS3.

wget http://sourceforge.net/projects/gns-3/files/GNS3/0.8.3.1/GNS3-0.8.3.1-src.tar.bz2 -P ~/Downloads/

cd ~/Downloads/
tar jxvf GNS3-0.8.3.1-src.tar.bz2

If you want to connect GNS3 device to the real network you have to run GNS3 as root:

sudo ~/Downloads/GNS3-0.8.3.1-src/gns3

Bumblebee-nvidia installation on Fedora to support NVIDIA Optimus technology under Linux


They are two graphic cards presented in my ASUS-K55VM-SX170V laptop – Nvidia 630QM and integrated Intel graphic card. Thanks to Optimus technology, switching between those graphics should be done without user touch in order to either achieve maximum performance or to save battery life.
Unfortunately NVIDIA has not released driver for Optimus support in  Linux that can take care of this job. As wiki says “When there is no software  mechanism in place for switching between graphics adapters, the NVIDIA GPU cannot be used at all, even if an installed graphics driver would support it”.

Following options help to deal with the issue.

a) Turning Intel graphics / Optimus off  in the BIOS and installing NVIDIA proprietary driver. However, UEFI im my ASUS laptop does not offer such an option.

b) Using the integrated Intel Graphics with i915 kernel driver
The display is hard-wired to the Intel graphic card so that low performance GPU is used for all applications by default. As it has not been yet NVIDIA OPTIMUS driver  released for Linux by NVDIA, users only benefit from the Intel GPU.
I tried to run FPS game Urban Terror on that Intel GPU with the resolution 1366×768  and with high quality texture details enabled.  Measured FPS was in a range from 40 to 60 frames per seconds.

c) Installing bumblebee-nvidia to support NVIDIA Optimus technology under Linux

A  few words about Bumblebee project
“The open-source project Bumblebee tries to provide support for the graphics chip switching. In the same way as the Windows implementation, by default all applications are run through the integrated graphics processor. Currently the only way to run a program with improved graphical performance on the discrete GPU is to explicitly invoke it as such. This can be done, for example, by using the command line or through specially configured shortcut icons. Automatic detection and switching between graphics processors is not yet available”.

So even Bumblebee cannot switch between graphics automatically it is definitely worth to install it. At least it allows us to get proprietary NVIDIA drivers working in Linux on PC with Optimus technology.

Following steps help to install Bumblebee.

1. Check if your computer has NVIDIA Optimus technology

lspci | grep -i VGA
00:02.0 VGA compatible controller: Intel Corporation Device 0166 (rev 09)
01:00.0 VGA compatible controller: nVidia Corporation Device 0de9 (rev a1)

They are two graphic cards  presented in the list – integrated INTEL IGP and NVIDIA GPU . If it is not possible to turn off integrated Intel card in BIOS, the only way to get NVIDIA proprietary drivers working on Linux is  Bumblebee installation.

On the other hand, if  it is only one GPU listed in the output, use following guide to install NVIDIA proprietary driver.

http://www.if-not-true-then-false.com/2012/fedora-17-nvidia-guide/

2. Uninstall nvidia proprietary driver

Uninstall a proprietary NVIDIA driver if it had been installed from rpmfusion (akmod-nvidia, kmod-nvidia,kmod-nvidia-PAE…). The NVDIA proprietary driver will be installed by Bumblebee install script later.

sudo yum remove kmod-nvidia

3.  Check if nouveau module – NVDIA open-source driver is loaded

sudo lsmod | grep nouveau
nouveau               890739  0
mxm_wmi                12823  1 nouveau
wmi                    18697  3 mxm_wmi,nouveau,asus_wmi
video                  18936  3 i915,nouveau,asus_wmi
i2c_algo_bit           13257  2 i915,nouveau
drm_kms_helper         44701  2 i915,nouveau
ttm                    79760  1 nouveau
drm                   255010  6 ttm,i915,drm_kms_helper,nouveau
i2c_core               38314  7 drm,i915,i2c_i801,drm_kms_helper,i2c_algo_bit,nouveau,videodev

We have to add nouevau to the list of  the blacklisted drivers in order to avoid conflict with NVIDIA proprietary driver.

su -c ‘echo “blacklist nouveau” >> /etc/modprobe.d/blacklist.conf’

4.  Backup an old initramfs  and create the new one

sudo mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r)-nouveau.img

sudo dracut /boot/initramfs-$(uname -r).img $(uname -r)

5.  Install all the rpm packages from the  site

First we must install dependencies.

sudo yum install turbojpeg-devel.x86_64 dkms

Now we can install rpm packages from the following site.

http://install.linux.ncsu.edu/pub/yum/itecs/public/bumblebee/fedora17/x86_64/

sudo rpm -ihv http://install.linux.ncsu.edu/pub/yum/itecs/public/bumblebee/fedora17/x86_64/VirtualGL-2.3.1-9.fc17.x86_64.rpm
sudo rpm -ihv http://install.linux.ncsu.edu/pub/yum/itecs/public/bumblebee/fedora17/x86_64/VirtualGL-devel-2.3.1-9.fc17.x86_64.rpm
sudo rpm -ihv http://install.linux.ncsu.edu/pub/yum/itecs/public/bumblebee/fedora17/x86_64/acpi-handle-hack-0.0.1-2.fc17.x86_64.rpm
sudo rpm -ihv http://install.linux.ncsu.edu/pub/yum/itecs/public/bumblebee/fedora17/x86_64/bbswitch-0.4.1-1.fc17.x86_64.rpm
sudo rpm -ihv http://install.linux.ncsu.edu/pub/yum/itecs/public/bumblebee/fedora17/x86_64/bumblebee-3.0.1-1.fc17.x86_64.rpm

6.  Set up bumblebee-nonfree repository and install package bumblebee-nvidia

sudo yum -y –nogpgcheck install http://install.linux.ncsu.edu/pub/yum/itecs/public/bumblebee-nonfree/fedora17/noarch/bumblebee-nonfree-release-1.0-1.noarch.rpm

sudo yum install bumblebee-nvidia.x86_64

Reboot your computer. As the system is coming  up, the NVIDIA driver is  built for the current running kernel.

Now start urbanterror accelerated with Optimus.  Measured FPS was in a range from 70 to 100.

optirun urbanterror

7.  Kernel upgrade with bumblebee

Bumblebee-nvidia script will automatically compile nvidia kernel module for a new kernel. Is not necessary reinstall bumblebee for kernel upgrade

References
Optimus
http://en.wikipedia.org/wiki/Nvidia_Optimus

Bumblebee Installation on Fedora 17
http://forums.if-not-true-then-false.com/index.php?topic=78.0
http://techies.ncsu.edu/wiki/bumblebee-nvidia

Bumblebee Fedora 17 x64 Packages
http://install.linux.ncsu.edu/pub/yum/itecs/public/bumblebee/fedora17/x86_64/

Bumblebee user guide
https://wiki.archlinux.org/index.php/Bumblebee

Nvidia Installation on Fedora 17 – not for computers with  Optimus
http://www.if-not-true-then-false.com/2012/fedora-17-nvidia-guide/

Intel driver – Fedora 17
http://www.wakfu.com/en/forum/36-technical-issues/47965-solved-fedora-17-black-texture-only

Follow

Get every new post delivered to your Inbox.

Join 66 other followers