How to install a D-Link DWA-525 wireless network card in Ubuntu 10.04

I was having an issue with an old network card in my Ubuntu machine (x86 arch), so I went out and got a new one that supports 802.11n. It’s been some time since I swapped out hardware, and Linux has matured greatly since then: the last install of Ubuntu detected everything perfectly, first time, including the network devices!

Not so for this network card. After much searching it turns out it’s actually unsupported [1] out of the box. Bah! I finally found the information I need to get it running. This article is a combination of several articles [2], [3], [4], I had to borrow bits and pieces from all of them, listed below.

Here’s how to get up and running with the D-Link DWA-525 on Ubuntu 10.04:

1. Install the card and power up the machine.

2. Open the terminal and run

lspci

In the list you will see:

Network Controller: Ralink Device 3060 0

So now we know what device we need drivers for.

3. Go to http://www.ralinktech.com/support.php?s=2 http://www.ralinktech.com/en/04_support/license.php?sn=5019 and download the RT3062PCI/mPCI/CB/PCIe(RT3060/RT3062/RT3562/RT3592) drivers.

You’ll be prompted for your name and email but you don’t need to sign into anything.

4. Extract the package and cd to the directory.

5. We need to make a slight modification to the configuration for the driver:

nano os/linux/config.mk

And set:

# Support Wpa_Supplicant
HAS_WPA_SUPPLICANT=y

# Support Native WpaSupplicant for Network Manager
HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=y

By default they are both set to ‘n’. Save and close the file.

6. From the top level directory, compile and install the driver:

sudo su
make && make install

You need to use ‘sudo su’ and not just ‘sudo’ so it creates the directories properly.

7. After compilation, and whist still root, modprobe the driver:

modprobe rt3562sta

You should get no output signalling success.

8. Now an important step. We need to blacklist a conflicting driver that will be loaded preferentially for this network card.

sudo nano /etc/modprobe.d/blacklist.conf

and enter the following line at the bottom of the file:

blacklist rt2800pci

Save and close.

9. Restart the machine.

10. When the machine is back up, verify the driver has been loaded and is being used by the device:

lsmod

You should see the following in the list:

rt3562sta     924607     1

11. Now, launch the Network Manager and it should have detected the available wireless networks and you can configure the one you want.

References, in order of usefulness:

[1] https://help.ubuntu.com/community/HardwareSupportComponentsWirelessNetworkCardsDlink
[2] http://ubuntuforums.org/showpost.php?p=10055176&postcount=4
[3] http://ubuntuforums.org/showthread.php?t=1045703
[4] http://ubuntuforums.org/showthread.php?t=1559576

Advertisements

Java update broke my Maven

I like new stuff. So today I launched Software Update and discovered a Java update! I squealed with excitement about having the shiniest new JVM on the block.

Then I went to build something with Maven:

Exception in thread "main" java.lang.NoClassDefFoundError: org/codehaus/plexus/classworlds/launcher/Launcher
Caused by: java.lang.ClassNotFoundException:     org.codehaus.plexus.classworlds.launcher.Launcher
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)

And the paths were all screwy:

[steve-imac:/usr/local/m2]$ which mvn
/usr/bin/mvn

Thats not right. That isn’t my Maven install dir, the correct one is /usr/local/apache-maven-2.2.1/

Digging further:

[steve-imac:/usr/bin]$ ls -la | grep mvn
lrwxr-xr-x 1 root wheel 24 9 Mar 14:43 mvn -> /usr/share/maven/bin/mvn
[steve-imac:/usr/bin]$ cd /usr/share/
[steve-imac:/usr/share]$ ls -la maven
lrwxr-xr-x 1 root wheel 16 9 Mar 14:43 maven -> java/maven-3.0.2

It seems Apple has snuck Maven 3 in with this Java update!

Simple fix:

sudo rm /usr/bin/mvn
sudo ln -s /usr/local/apache-maven-2.2.1/bin/mvn /usr/bin/mvn

Maven restored.

Kudos to Chris who got in touch and we had a chat about it on IM. He too has written about this issue!

Basic LTI portlet for uPortal, 1.1 release

I am very pleased to announce the 1.1 release of the Basic LTI Portlet for uPortal.

This portlet implements the IMS Basic Learning Tools Interoperability specification and allows you to render any Basic LTI enabled application inside uPortal. Possibilities include Sakai tools, Peoplesoft components, tools from other LMS’s like Moodle and Blackboard, blogs, forums, wikis, the list is endless.

This release includes the following fixes and features:

  • The config mode has been expanded to include the Basic LTI key and secret. You no longer need to edit the portlet.xml, just drop the war in and go!
  • Improved cache handling
  • Fixed a bug in the Sakai adapter where under certain conditions, some parameters were not passed through correctly
  • The docs/ dir is now included in the built artifacts

More information including a comprehensive installation and configuration guide, screenshots, project road map and architecture document, as well as information about creating new adapters is all available on the Jasig wiki: https://wiki.jasig.org/display/PLT/Basic+LTI+Portlet

 

The RSS portlet for uPortal, now available for Sakai too!

Earlier today I released the Simple RSS portlet for uPortal. Chuck Severance posted a comment inquiring if it works in Sakai as well, since Sakai has JSR-168 support, just like uPortal.

So I dropped the WAR in and watched the logs with anticipation… success!


2011-03-04 23:15:24,276 INFO main org.apache.catalina.startup.HostConfig - Deploying web application archive simple-rss-portlet-1.0.1.war
2011-03-04 23:15:24,476 INFO main org.sakaiproject.portal.service.PortletTool - Portlet auto-registered with Sakai toolId=portlet./simple-rss-portlet-1.0.1.simple-rss-portlet
2011-03-04 23:15:24,476 INFO main org.apache.pluto.core.PortletContextManager - Portlet Context '/simple-rss-portlet-1.0.1' registered.
2011-03-04 23:15:24,477 INFO main org.apache.pluto.core.PortletContextManager - Registered portlet application with application id '/simple-rss-portlet-1.0.1'
2011-03-04 23:15:24,477 INFO main org.apache.pluto.core.PortletContextManager - Registering 1 portlets for context /simple-rss-portlet-1.0.1

I added the portlet to a site but in place of the main view I received an interesting stacktrace:

Caused by: java.lang.NoClassDefFoundError: javax/el/ValueExpression

This is fairly obvious. uPortal requires Tomcat 6 and hence jstl-1.2. Sakai requires Tomcat 5.5 and hence jstl-1.1. The portlet deploys jstl-1.2. Downgrading the version of JSTL that the portlet deploys to v1.1.2 and redeploying worked a treat:

I’ve updated the install instructions too.

Bring on Tomcat 6 support in Sakai!

Simple RSS Portlet for uPortal, 1.0 release

I am very pleased to announce the 1.0 release of the Simple RSS Portlet for uPortal.

This portlet is, quite simply, an RSS/Atom feed reader with a simple interface! It is designed to be a drop in replacement for the deprecated CSyndFeed channel and it supports feed entry images.

Features:

  • Renders all forms of RSS and Atom feeds.
  • Prioritises and displays images contained in the feed.
  • Feeds and images are cached for quick access.
  • Can be setup as a portlet publishing type to allow multiple pre configured portlets to be deployed.
  • Supports the CONFIG mode for run-time configuration.
  • Designed to be a drop in replacement for the deprecated CSyndFeed channel (uses the same markup).

More information including a comprehensive installation and configuration guide, screenshots and project road map is all available on the Jasig wiki: https://wiki.jasig.org/display/PLT/Simple+RSS+Portlet

Jasig-Sakai Joint Working Group Announcement and Update

Reproduced from an announcement sent out today to the Sakai and Jasig mailing lists:

In October, the boards of Jasig and the Sakai Foundation announced to their communities that the two non-profit organizations had decided to pursue an opportunity to join together. The new entity would “foster the development and use of open source software that supports the academic mission”. More specifically, the resulting foundation would promote the development and sustainability of multiple open source projects and communities of practice dedicated to exploring the use of open source systems, tools, and processes to support teaching, learning, research, and other aspects of the academic enterprise.

Both boards felt that the similarities in goals, values, and practices between Sakai and Jasig could form the basis of a combined foundation which would be capable of providing far greater value to our communities than the sum of its parts.

Since the October announcement, the two boards have formed a Joint Working Group (JWG) whose mission is to perform the work required to fully evaluate the processes and models by which we might effectively bring our two organizations together, seek input and feedback from the Jasig and Sakai communities, and prepare a detailed proposal for acceptance by the respective boards of directors and communities. Specifically, the working group will be responsible for the following:

  • Establish procedures for communicating with the Sakai and Jasig communities to solicit input about the proposed partnership, set up appropriate avenues for dialog, provide relevant information, and report periodically on the status of the Joint Committee’s work.
  • Determine the most effective governance model for the new foundation.
  • Reconcile membership models and design a new, optimized model for institutions, professional affiliates, and commercial entities.
  • Develop policies and procedures for organizational and project governance.
  • Perform due diligence regarding the mechanics and practicalities of joining the two organizations (e.g., finances, legal, licensing, etc.).
  • Develop budget and staffing models.
  • Draft a high-level proposal for additional tasks that would need to be performed by the new organization, e.g., rationalize infrastructure, web presence, collaboration environments and tools, etc.
  • Develop a detailed proposal for joining the two organizations; present it to our communities and boards of directors.

The Jasig-Sakai Joint Working Group will meet regularly over the next several months to work on these activities. Sub-groups will be formed to work on specific deliverables. The group aims to complete its work by October of 2011.

Community members who have questions or who wish to comment on the evolving plans are invited to subscribe to the Google Group, “Jasig Sakai Collaboration” at http://groups.google.com/group/jasig-sakai-collaboration/subscribe. The JWG will periodically post documents, questions and ideas to this group for community feedback. If appropriate, a FAQ will be created to respond to regularly posted questions.

We look forward to working together over the next several months and invite you to share your thoughts, questions, and concerns about this process, its objectives, and its deliverables.

I am really looking forward to this new relationship. I am involved with both Sakai and uPortal and can see a synergy between the two organisations being very fruitful.