Archive for September, 2009

What can RHEL learn from video game pirates

Wednesday, September 9th, 2009

After reading Free by Chris Anderson I have some thoughts on how Red Hat Enterprise Linux can claim much of the unpaid Linux market share.

In his book, Free, Chris Anderson tells a story of a game developer who asked Slashdot, a technology forum, why pirates continued to steal his games when he charged just $20 for them. While many open source advocates and others might expect the responses to be filled with arguments against intellectual property the response was very different. Most of the individuals who commented back to the game developer said the piracy was occuring for two reasons. First, because the small amount of copy protection and difficulty navigating his web store provided a barrier to playing the game. Second, the individuals generally didn’t feel that the games being provided were worth $20. This meant the game developer had to create a better game or lower his prices and also provide an easier means of access to the game.

A similar situation exists in the Linux market today. Red Hat Enterprise Linux, a paid Linux distribution held roughly 62.2% of paid market share while CentOS, a free copy of Red Hat Enterprise Linux, and other free Red Hat based Linux distributions hold 50% of the unpaid market. In 2008, according to IDC, unpaid Linux subscriptions accounted for 1.2 million of the 2.8 million servers deployed. According to this data 42% of the server based Linux deployments used unpaid Linux in 2008. So why has this situation occured? It’s difficult to draw a conclusion because there are many different variables and situation, but one possible reason that an organization might run unpaid Linux is similar to why a pirate would decide to use a cracked version of a game. First, because they cannot gain access to Red Hat Enterprise Linux quickly. A system administrator may not feel it’s worth speaking with his manager, going through procurement, and then waiting for his/her Red Hat Network account to be created. These are all barriers to scratching their Linux itch, so to speak. Second, they don’t feel that $2500 is an approrpriate price for an operating system. Maybe they just want to serve up some web services to a LAN in their office.

So how can Red Hat remove these barriers to capture the unpaid Linux market?

First, remove the barrier to Red Hat Enterprise Linux and allow any users to download and use Red Hat Enterprise Linux. Certainly this would not entail providing support to consumers who do not pay for a subscription, however updates, erratta, and other information should be provided. More reasearch is required around the economics that would make this possible, but there is such a small marginal cost to providing updates to an unpaid audience that we could afford to give updates to all consumers. The Fedora project already performs similar functionality and the infrastructure could be leveraged to provide free updates to Red Hat Enterprise Linux as well.

Second, lower the price of supported Red Hat Enterprise Linux to a price that the unpaid Linux market finds more reasonable. Some revenue is better than no revenue. Provide pricing to markets that creates a psychology of responsibility and value. If a consumer is willing to spend a certain amount of money for a copy of Red Hat Enterprise Linux wouldn’t it serve our best interest to provide him/her Red Hat Enterprise Linux? When consumers in the unpaid market decide to move to a paid product it would be in Red Hat’s best interest tf the consumer was already running Red Hat Enterprise Linux. This would provide a clear upgrade path. It is important to note that the demand at free is much higher than even a penny and will cause a huge spike in the demand curve. Both of these theories need to be validated further.

The psychology of free may have also hampered mainstream adoption of Linux on the home users desktop. Could free be associated with lower quality to the average consumer? Does the fact that JBOSS costs 15 percent of the total cost of Websphere cause buyers to assume it is of lower quality? Would raising the price change consumer psychology and increase sales in certain market segments? This is another theory that should be explored.

Update

For some reason I’m not able to reply to comments on my own blog (I’m still figuring out docspace).

Per a new IDC report:

Nonpaid Linux server operating systems continues to increase in importance on the overall market dynamics, with nonpaid Linux server operating system deployments accounting for 43.3% of the worldwide total, up from 41.4% in 2007.

There is no debating that CentOS is an exact binary copy of Red Hat Enterprise Linux, but the psychology of using CentOS instead of RHEL might make a huge difference in the long run.

1. Many users might not realize that CentOS is a copy of RHEL.

2. When a user looks to upgrade to a paid version of Linux they might think a leap from CentOS to another distribution.

3. If a user had the option of downloading Red Hat Enterprise Linux for free they might run it rather than another distribution (excluding CentOS). This would make them more likely to begin paying for it later.

Lenovo x200 RHEL5.3 Ericsson 3507g wwan

Wednesday, September 9th, 2009

A quick howto on using the built in Ericsson 3507g wwan card in an x200 running RHEL 5.3. I created this guide form a miriad of sources so do not take this as an original or all encompassing guide

Note: I purchased a SIM card from the AT&T store which was activated at the store. If you do not purchase the SIM from AT&T, but have it included with your laptop on purchase I am not sure how to activate it on Linux (the included software is for Windows). I have read on some forums that people have placed the SIM into another device and powered on the device to get a non-activated SIM registered, but this is beyond the scope of this post.

This document assumes the 3507g card is installed (just under the number pad when you remove the keyboard) and the SIM is also installed (located under the battery).

1. Be sure to enable the wireless wan (WWAN) and Wimax radios in the BIOS

2. After booting check to make the cdc_acm driver has loaded.

# dmesg |grep -i acm
cdc_acm 2-4:1.1: ttyACM0: USB ACM device
cdc_acm 2-4:1.3: ttyACM1: USB ACM device
cdc_acm 2-4:1.9: ttyACM2: USB ACM device
usbcore: registered new driver cdc_acm
drivers/usb/class/cdc-acm.c: v0.25:USB Abstract Control Model driver for USB modems and ISDN adapters

3. Notice there are three ACM devices. We will use ttyACM1 as it is associated with the data connection. Also, notice that although the cdc_acm driver is loaded and the WWAN and Wimax radios have been enabled in the BIOS the WWAN indicator light (located to the right of Bluetooth icon) just under the display is not illuminated. This is because the modem has not been initialized. In order to do initialize the modem and make sure your SIM is active you can use minicom or another terminal emulator.

# minicom -s
minicom: WARNING: configuration file not found, using default

┌─────[configuration]──────┐
│ Filenames and paths │
│ File transfer protocols │
│ Serial port setup │
│ Modem and dialing │
│ Screen and keyboard │
│ Save setup as dfl │
│ Save setup as.. │
│ Exit │
│ Exit from Minicom │
└──────────────────────────┘

4. Select Serial port setup.

┌───────────────────────────────────────────────────────────────────────┐
│ A - Serial Device : /dev/modem │
│ B - Lockfile Location : /var/lock │
│ C - Callin Program : │
│ D - Callout Program : │
│ E - Bps/Par/Bits : 38400 8N1 │
│ F - Hardware Flow Control : Yes │
│ G - Software Flow Control : No │
│ │
│ Change which setting? │
└───────────────────────────────────────────────────────────────────────┘
│ Screen and keyboard │
│ Save setup as dfl │
│ Save setup as.. │
│ Exit │
│ Exit from Minicom │
└──────────────────────────┘

5. Select Serial Device (Shift + A). Set the serial device to /dev/ttyACM1 and press Enter several times to get to the main menu. Then press escape to have the modem initialized.

┌───────────────────────┐
│ │
│ Initializing Modem │
│ │
└───────────────────────┘

Welcome to minicom 2.1

OPTIONS: History Buffer, F-key Macros, Search History Buffer, I18n
Compiled on Jul 26 2006, 06:38:09.

Press CTRL-A Z for help on special keys

AT S7=45 S0=0 L1 V1 X4 &c1 E1 Q0
OK

6. Check whenever the SIM is protected by PIN by sending AT+CPIN? If the answer is +CPIN: READY then the SIM is unlocked.

AT+CPIN?
+CPIN: READY

OK

7. If the answer is +CPIN: SIM PIN you need first to unlock it by sending AT+CPIN=”YOUR-PIN”.

8. Now the card can be turned on by sending AT+CFUN=1.

AT+CFUN=1
OK
*EMWI: 1,0

+PACSP0

*ESTKRSH: 1,7F206F31

9. Notice the green indicator light for WWAN is now on. Also, it’s important to not that you can force the GSM-only connection by sending AT+CFUN=5 and force WCDMA-only by sending AT+CFUN=6.

10. To turn the card off you can send AT+CFUN= and energy saving mode is AT+CFUN=4.

AT+CFUN=
OK


11. Exit Minicom (ctrl + a + z – then x). Now that we know the WWAN hardware is working, let’s configure wvdial, ppp, and vpnc. It’s important to note that NetworkManager tends to screw up the wvdial configuration. I stopped it completely and just the command line for managing all network connections.

# service NetworkManager stop

# chkconfig --levels 345 NetworkManager off

12. Start Network Configuration to create the device and the ppp interface

# system-config-network

13. I’ve attached screenshots of how the connection should be configured, but the important things are:

* Setup a generic modem under the hardware tab with device: /dev/ttyACM1 , Baud Rate: 460800 , Flow Control: Hardware.
* Setup a new modem connection under the devices tab with phone number: *99# , Provider Name: att , Username: * , Password, *
* Once the modem connection is created edit the device and select the compression tab. Check all the boxes under that tab.

14. The actions in step 13 will have changed the contents of the /etc/wvdial.conf and of the /etc/ppp/peers/wvdial files. That is great, but for some reason the init strings for AT&T don’t work. So we need to edit /etc/wvdial.conf.

# vi /etc/wvdial.conf

Make sure your file looks like this:

[Modem0]
Modem = /dev/ttyACM1
Baud = 460800
SetVolume = 0

[Dialer att]
Username = *
Password = *
Phone = *99#
Stupid Mode = 1
Init1 = AT+CFUN=1
Init2 = AT+CGDCONT=1,"IP","isp.cingular"
Inherits = Modem0

15. So we now have wvdial and ppp created. Lets go ahead and take a break and add the modem lights item to our panel so we can easily monitor the activity on our att interface. Right click on your panel, select Add to Panel and then select the Modem Lights item. Once it is added right click on the Modem Lights item and select preferences. Under the General tab make sure connection command is set to /sbin/ifup att and disconecction command is set to /sbin/ifdown att. In the Advanced tab change Lock file to /var/lock/LCK..ttyACM1.

16. Now you should be able to bring up the interface by clicking on the modem lights button. If that doesn’t work bring up a shell as root and run wvdial att to see more specific reasons for the failure.

17. Once you have this complete it’s just a matter of running vpnc to open the vpn. You can put your connection preferences in /etc/vpnc/default.conf to make the process easier.

[root@mensa ~]# vpnc
Enter username for vpnX.company.com: user
Enter password for user@vpnX.company.com:
Connect Banner:
| ==============================
| Unauthorized access prohibited
| Violators will be prosecuted
| ==============================

VPNC started in background (pid: 4985)...

18. Please feel free to comment with any corrections or further tips!