I wrote that I had additional problems installing the Hawking HWP54G Wireless-G PCI card after a clean Fedora Core 4 install that were not covered in my detailed description of how I got the wireless card working. I promised a write-up, and it’s time to wrap things up.
If you’re an experienced Linux user, what I found and how I fixed it is going to seem elementary, but I’ve focused on explaining this stuff to new users like me. Basically, even though I followed the first part of Mauriat Miranda’s guide to FC4 installation and package selection, I didn’t read the entire document, and therefore didn’t get down to the end where it says “Fedora no longer ships with the kernel-source RPM. You must install it separately.” So when I tried to make the driver, I got this:
[greg@localhost module]$ make
make: *** /lib/modules/2.6.11-1.1369_FC4/build: No such file or directory. Stop .
rt2500.ko failed to build!
make: *** [module] Error 1
[greg@localhost module]$
I was scratching my head, trying to figure out how I could have possibly installed FC4 without the capability of running the make command, but as it turns out,
If you need to install a driver (Nvidia, ndiswrapper, Cisco VPN, etc.) that requires kernel sources [emphasis mine], it may be sufficient to install just the kernel headers package (kernel-devel RPM). This can be found on CD4, the DVD or online. If you have updated your kernel (using yum or up2date), then use yum to install the package (‘yum install kernel-devel’). Make sure to match your current kernel version (read below for the ‘uname’ command).
Once again, stymied because I hadn’t read the instructions in their entirety. Actually, I didn’t solve my problem by reading this document – I’m just finding it now as I check my sources for the write-up. I solved the problem by popping in the FC4 DVD, logging in as root, and typing:
[root@localhost /]# rpm kernel-devel-2.6.11-1.1369_FC4.i686.rpm
After I installed this package, I logged back in as me, went to the /Module directory, and tried make again. Here’s my output:
[greg@localhost ~]$ cd /etc/rt2500/module
[greg@localhost module]$ make
make[1]: Entering directory `/usr/src/kernels/2.6.11-1.1369_FC4-i686'
CC [M] /etc/rt2500/module/rtmp_main.o
/etc/rt2500/module/rtmp_main.c: In function ‘rt2500_resume’:
/etc/rt2500/module/rtmp_main.c:844: warning: ignoring return value of ‘pci_enabl e_device’, declared with attribute warn_unused_result
CC [M] /etc/rt2500/module/mlme.o
CC [M] /etc/rt2500/module/connect.o
CC [M] /etc/rt2500/module/sync.o
CC [M] /etc/rt2500/module/assoc.o
CC [M] /etc/rt2500/module/auth.o
CC [M] /etc/rt2500/module/auth_rsp.o
CC [M] /etc/rt2500/module/rtmp_data.o
CC [M] /etc/rt2500/module/rtmp_init.o
CC [M] /etc/rt2500/module/sanity.o
CC [M] /etc/rt2500/module/rtmp_wep.o
CC [M] /etc/rt2500/module/wpa.o
CC [M] /etc/rt2500/module/md5.o
CC [M] /etc/rt2500/module/rtmp_tkip.o
CC [M] /etc/rt2500/module/rtmp_info.o
CC [M] /etc/rt2500/module/eeprom.o
LD [M] /etc/rt2500/module/rt2500.o
Building modules, stage 2.
MODPOST
CC /etc/rt2500/module/rt2500.mod.o
LD [M] /etc/rt2500/module/rt2500.ko
make[1]: Leaving directory `/usr/src/kernels/2.6.11-1.1369_FC4-i686'
[greg@localhost module]$
You might notice that I changed the directory name from “Module” to “module” – I hate hitting the SHIFT key in the command line! May as well show you what happened next, when I make install-fedora:
[greg@localhost module]$ su -
Password:
[root@localhost ~]# cd /etc/rt2500/module
[root@localhost module]# make install-fedora
if ! [ -f rt2500.ko ]; then \
module; \
fi
install 'rt2500.ko' to /lib/modules/2.6.11-1.1369_FC4/extra
install -m 755 -o 0 -g 0 -d /lib/modules/2.6.11-1.1369_FC4/extra
install -m 644 -o 0 -g 0 rt2500.ko /lib/modules/2.6.11-1.1369_FC4/extra
/sbin/depmod -a
append 'alias wlan0 rt2500' to /etc/modprobe.conf
[root@localhost module]#
And that’s it! You can go back to my detailed description for my tips on using the system-config-network utility. Note that if you’re not using Fedora, you may also need to build the configuration utility that comes with the drivers. Also, if you upgrade your kernel later on, you will have to make and make install-fedora again, so make sure you include the new kernel-devel package.
Well, I feel like I’ve described in explicit detail how I got my wireless card working in Fedora Core 4. I really need to go and finish the job in SuSE 10 as well, but tweaking my FC4 is keeping me pretty busy, and the closer I get everything to the way I want it, the less incentive I have to do it all over again in SuSE. But if I want to write a real howto, I need the experience. Still, right now there’s lots of other things to do that I found in the installation guide, so I’m off to do those!
Posted by Greg as Hardware & Drivers, Networking, OS at 03:49 PST
3 Comments »
Did you realize it could be done? I didn’t. When I just now tried to log in as root, I was confronted with my stupidity when I found that I must have changed it and couldn’t, for the life of me, remember doing it, let alone what it was. I had visions of having to reinstall Fedora Core 4 and starting all over again. So I Googled reset root password and got the answer with the first hit.
My FC4 grub entry reads like this:
root (hd0,1)
kernel /vmlinuz-2.6.14-1.1644_FC4 ro root=LABEL=/ rhgb quiet
initrd /initrd-2.6.14-1.1644_FC4.img
Which is pretty standard. My FC4 root partition is the second one in my hard drive, and I’m using the latest kernel. Then I used the command line and entered the following (showing the prompts):
grub> root (hd0,1)
grub> kernel /vmlinuz-2.6.14-1.1644_FC4 root=LABEL=/ single
grub> initrd /initrd-2.6.14-1.1644_FC4.img
grub> boot
I had problems with “File not found” showing after typing in the kernel name, so I actually used Tab to get the filenames available.
This booted me into a command line interface as root. I typed in “passwd” and was prompted to enter a new password, then retype it again for confirmation. I hit CTRL-ALT-DEL to reboot, selected FC4 in my grub, and I was able to log in as root using the new password. Amazing!
I guess this is why you get those strongly worded recommendations to use a bootloader password when you’re installing grub. That doesn’t work for me at home because the wife and older kid would whine about having to enter any passwords, and the baby has a habit of pushing buttons, so he often reboots the computer for us. (I got a case with a clear plastic front door, but I had to put little stick-on plastic feet on both sides of the power and reset buttons because you could push them through the plastic – I still need to find some sort of lock, though.) My grub is set to automatically boot to Windows XP after eight seconds, and I don’t think anybody understands the concept of multiple operating systems.
Posted by Greg as OS at 05:06 PST
No Comments »
I was getting an unanticipated level of traffic to my football writings (that’s American football, not the FIFA or Australian versions), so I checked the same Google search that someone had as a referrer.
For some unfathomable reason, I’m the 15th result out of 800,000 when searching for chargers playoffs, and most of the sites ahead of me are commercial ticket-selling enterprises. My site comes out ahead of nfl.com and even chargers.com! And it’s been that way for two days now! Yet, if you enclose the search terms in quotation marks, indicating a search phrase, I get no placement out of 707 results.
Do so few people think we have a chance that my enthusiasm stands out? Nah – there are 800,000 results, although technically, all of them except mine could be saying “the Chargers don’t have a prayer of making the playoffs…”, but that idea is anathema to me, and I reject the possibility.
Just when I thought I was starting to get a basic understanding of how Google ranks its search results, little anomalies like this pop up. I was recently reading Newsweek and noticed a side comment within an article mentioning that the Google infrastucture is the most likely place for artificial intelligence to get a foothold. Is it possible that there is already something stirring within the Google servers, and that he/she/it is a Chargers fan?
Posted by Greg as Football, My Website at 06:03 PST
No Comments »
I’ve compared my hacked versions of the WP-UserOnline plugin to the released versions and compiled the differences in a text file. I put the file, called “Instructions.txt”, in my online folders.
Hopefully, if you haven’t been able to get the old plugin working, you can follow these instructions and get your own version working. I can’t released my own hacked files because the author did not explicitly license them under the GPL. It was a tedious job to find the differences, so I would appreciate any feedback as to whether you were able to follow them and get the plugin working or not.
Good luck!
Posted by Greg as My Website, Programming at 13:34 PST
5 Comments »
The San Diego Union Tribune did a better job than me figuring out all the options for the San Diego Chargers to make the playoffs with two regular season games to go – there is another scenario that I didn’t consider.
We already know the following:
- If Denver loses to Oakland and San Diego in the last two games and San Diego wins at Kansas City, San Diego takes the AFC West. Of course, it’s extremely unlikely that Oakland can come to Denver and beat them this weekend.
- If Pittsburgh loses to either Cleveland away or Detroit at home and San Diego wins the last two, we’ll grab the last wildcard slot. I was hoping Pittsburgh would lose to the Vikings last week, but that didn’t happen. The only way I see that this could possibly happen is if Cleveland somehow rises to the challenge when facing their divisional rivals, and Pittsburgh seems to be worried about that.
What the UT pointed out is that if San Diego and Pittsburgh both win their last two games, but Jacksonville loses one of its two, there would be a three-way tie for the two wildcards. The three-way tiebreaking rules are different – the head-to-head rule, by which we would lose to Pittsburgh if it was just between us, doesn’t apply because San Diego hasn’t played Jacksonville this year; and we go to conference record. Under that rule, San Diego would get the fifth seed, Jacksonville would get sixth, and Pittsburgh would be out.
So who does Jacksonville face? Houston away and Tennessee at home, both division games. Houston is 2-12 – not much hope there. But assuming Jacksonville wins that one, they will have clinched a playoff spot regardless, which makes the last game more interesting. Tennessee is currently 4-10, so I had considered that game a gimme for the Jaguars, even though they’re the weakest AFC team in playoff contention. But what if Jacksonville wants to rest up for the playoffs? With the wildcard slot secured, what is their motivation to play their A game? As we’ve seen around the league, especially this year, and especially for my poor Chargers, anything can happen in a football game. So it’s another hope for me.
Furthermore, the game would determine who Jacksonville faces in the first round. With two games remaining, there’s a lot of ifs about seeding order, but the difference between fifth and sixth seed is the opponent you end up facing. With the race so tight, they might not know who they would face until the end of gameday.
Yes, it is technically possible for San Diego to still get into the playoffs even if we lose one of our last two games, but that is a real long shot. Jacksonville and Pittsburgh would both have to lose their last two games.
Posted by Greg as Football at 11:01 PST
No Comments »
Aren’t these cool? They’re screenshots off Sitemeter from yesterday. They only have the last one hundred visitors to my site, so the pattern of dots changes constantly – right now I don’t show any from Africa or South America, but I’ve had several visits from both in the last couple of days. Also, the balance in these shots is tilted towards North America over Europe. When it’s evening in Europe, the balance typically tilts there.



I was recently looking into web mapping applications so that I could display something like this on my own website without using an external host. I could have sworn I saw exactly the same world map, in flash, as an open source project on SourceForge, but I couldn’t find it again last night. If anyone recognizes these, can you let me know which project it is? Maybe I initially dismissed it because it required loading on the hosting machine, which I don’t think my hosting supplier allows – at least, not without upgrading my account.
Still, something like this would require exactly the same type of underlying visitor recording that I’m considering for the plugin I’ve been discussing with my new-found Dutch friends, and would probably need only the simplest of overlays using the Google Maps API. But the big problem is time. My first online priority right now should be spiffying up my daughter’s color guard website, not coding plugins. Besides, I searched Google for wordpress openid, and saw a lot of calls for WP to integrate OpenID support to the core WordPress files. Add me to the list of supporters! It is an official suggestion for the 1.6 release, but it doesn’t seem to have been accepted. OpenID logins would change everything, so the plugin would be very quickly outdated, unless I could get some inside poop on how the integration would work so that I could incorporate something into the code like an isset($_COOKIE) check.
Almost finished documenting the hacks in my wp-useronline deployment. Maybe I can finish and post during my lunch time.
Posted by Greg as My Website, Programming at 06:17 PST
No Comments »
This morning my boss mentioned that he had taken a look at my blog over the weekend. He had been there when someone else at John Water’s memorial service told me that they had found my In Memoriam post, and he said that he would have to go and check it out himself. Once I knew he had been here, it was very easy to spot his visit in my logs and see which pages he had accessed. It’s a good thing that I haven’t bitched about work here! Not that I have anything at all bad to say about him – any problems I have with my employer are at a level higher than my immediate supervisor. My current boss is the best civilian boss I’ve ever had, and I’ve turned down other offers just because it meant leaving the people I work with.
Still, it is a reminder to exercise judgment about what I post. It really is all out there for anyone to see. Coincidently, my boss told me about his visit just after a coworker had told me that he had recently had a conversation with the president of a large construction firm in the corrosion industry, who mentioned that he had found my blog.
Posted by Greg as Family & Friends, My Website at 11:52 PST
No Comments »
The team that showed up in Indianapolis yesterday was the one I had been expecting to have all season. Well, except for the turnovers, but they made good for those. They dominated the Colts and won, 26-17. But both Denver and Pittsburgh won as well, so the Charger’s playoff hopes lie in a win by either Oakland or Cleveland next weekend. Both are long shots, but all I want for Christmas is for the Chargers to make the playoffs.
Posted by Greg as Football at 11:41 PST
No Comments »
Well, the consensus is that it would be best to create a new plugin from scratch, which I agree with, but the trouble is the time it’s going to take. I would want to do it right, which would take a while. I figure in the meantime that I should publish my WP-UserOnline hacks as soon as I’ve finished the documentation, which the guys can test out. It may also give them ideas for what should go in my project.
Vincent seems to think that getting visitors to register is a good idea, and that distinguishing the registered users from the casual visitors is a way to motivate people to do that. I’m not quite sure I agree with that position.
The old WP-UserOnline plugin didn’t use registered users – it used the ‘comment_author_’ cookie. If you look at my last post, you’ll see a couple of comments posted by me saying “Give me a cookie”. That’s because I was using FC4 at home, which I still haven’t set up completely, and Mozilla didn’t have a cookie stored for me. In fact, I had to post a second comment to get a cookie for when I was logged on as root, which I did to grab the bookmarks out of my WinXP partition (I haven’t finished tweaking my fstab yet, and only root can access the ntfs partitions.) I’m sure the author had a good motivation for choosing to use the comment_author_ cookie, and I’m sure it was because he didn’t expect visitors to routinely register when they go to blogs, even ones that they visit a lot. But if someone was interested enough to leave a comment, he or she got a cookie that identified them later.
That strategy isn’t perfect, but I think it’s a lot more practical than expecting visitors to register when they visit your blog. Personally, I hate registering, and I’ll only do it if it gives me a distinct advantage. Even without customizations, you can understand why someone would want to be part of the community at Slashdot or SourceForge, but do they want to do it just to see one article at the West Chester (Pennsylvania) Daily Local News, or to read and post a comment on anything less than a top 100 blog? I don’t think so. They probably arrived there from a search engine, and they don’t even know if the article or post contains the information they’re looking for. They have 2,000 other hits, so why bother? Just go back and try the next one. This is why I use the BugMeNot extension for Mozilla. Besides, do you remember what it was like to register at a WordPress site? It’s much more of a hassle than filling in your name, website if you have one, and email to post a comment. The entire WordPress registration system needs to be rewritten or bypassed. Vincent points out that he took pains to prominently position a login box in his sidebar – that’s great, but to really encourage logging in we need a cookie system where you get that little “Remember me on this computer” checkbox and an automatic login when the visitor returns.
An alternate strategy is to use a single sign-on registration system, such as MSN Passport or TypeKey, or the less rigorous identity system OpenID; all of which I have actually signed up for, but don’t necessarily like. Of the three, OpenID is less oppressive because it is open source and uses a decentralized verification system. However, it’s not for the casual net surfer – you have to have a website, and you have to be able to insert the appropriate meta tags in your root page. This is an evolving situation – website operators want to verify the identity of their visitors, but a huge founding principle of the Internet is anonymity, and lots of people just don’t want to give it up. So far, no dominant identity verification system has emerged, but I see that eventually changing. Historically, in the struggle against personal privacy and public accountability, the tide is slowly and inexorably moving towards the individual surrendering his or her freedoms. This is why I regularly read the RSS feeds from Bruce Schneier, the Electronic Frontier Foundation, and DRM News, and am a card-carrying member of the ACLU, even though I consider myself a conservative; although my definition of “conservative” falls more in along the lines of the traditional Burkean conservatism than those damned religious zealots who have tried and apparently succeeded in rewriting the definition of conservatism, at least in the United States. (Oh crap, I’ve gone on in this vein long enough that I will have to tag this post with Politics as well.)
I’m not aware of any plugins that would extend this capability to a WordPress blog. [Revision - there's a WP OpenID plugin here - it looks a little clunky, but that was 4 months ago.] I’ll have to look. But I was thinking of something else. I’m also interested in visitor tracking – at first because I was curious (and wanted to demonstrate to my friends that I knew when they came to visit), but then because the practical considerations of running a website that attracts visitors requires that you know what draws people to you – how you are positioned in search results using terms appropriate to your interests (search engine optimization), how long visitors stay, if and where they go elsewhere on your site after that first hit, how many incoming links you have, etc. Vincent knows what I’m talking about, because he is interested in “building a community around your weblog.” Since I’m a really cheap bastard, it’s notable that of all the bells and whistles my hosting service tries to lure me with, one of the few extras I have purchased is the extended traffic reports, which also gives me access to server logs. I’ve also been trying out free web-based services, even though it slows down my pages’ load time, and delivers my personal traffic information to a company who’s corporate interests are not likely to be the same as mine. I just thrive on this information, and it affects the content I end up putting up – I am more likely to blog on a subject that I have learned draws more traffic. But I was also thinking about writing a plugin that would track my visitors for me – catching and storing the particular information that I am interested in, and giving me the detailed read outs and spiffy features on my blog for the visitors – such as a world map with pins showing where my visitors come from. I love Sitemeter’s Recent Visitors by World Map, even though it looks like an open source project rip-off, and I’ve signed up for and started using my Google Maps API key so I can play with that little toy.
So to complete the lead-in, I’m thinking about using using visitor recording and fleshing it out with something more subtle, perhaps more Machiavellian. I don’t think we can count on any significant portion of our traffic to come from registered users, no matter how attractive we make registration. Because most surfers have dynamic IP’s, we can’t track visitors on that alone. Cookies might help, but without the visitor’s cooperation, we can’t get a name to go with the cookie, even if we can get past the increasing precautions against cookies thanks to the spyware problem. We could try to match any new visitor against our record of past visitors, using not only cookies and ip addresses, but also useragent strings, ISP and geographic information looked up on the ip’s, and ephemerals such as language settings and monitor resolution. We could generate a fairly high probability of recognition after a few visits, and it’s the repeat visitors we care about. Of course we would need a good privacy policy and notifications of the fact that we’re trying to place cookies, and why. What about redirecting a suspected repeat visitor to a page set up to invite him or her to register – not in the WordPress sense, but a quick-and-easy and in-your-face way, for our own tracking and recognition purposes. But what benefit can we offer them for registering? Registering in forums is expected, and there is a recognized advantage in getting credit for what you have to say; or the alternative – the community recognizing someone who doesn’t have anything to say that’s worth listening to. (Besides, in most of them I get to put up my spinning skull and crossbones image as an avatar.) But a forum is by nature built on a sense of community – people coming together to seek answers, ask advice, share knowledge, or show off their expertise. What sense of community does a blog have? After all, it’s just a public journal, isn’t it? It’s more an interrupted monologue than a dialog. If you peel through all the layers of reasons and rationalizations for a blog to exist, does it ever come down to anything else at the very core other than a search for external validation of self? Does showing a list of names on our site do anything other than prove that we’re interesting? How do you build a community around that?
Real participatory websites have a reason for being, most of which I already described. And they’re usually not blogs, except for the top rated ones, when they are actually a discussion group set up and led by a controlling instigator. WordPress is supposed to be a blogging tool, and if you want to set up a website for, say, a local chapter of a non-profit professional organization or a high school extracurricular activity, you should probably be using some other software. (And if you know something better for either of those applications than the lumbering Mambo, please let me know!!) I don’t see a need for a chat room in a blog. Yes, I met my wife in what was essentially a chat room, but kids nowadays keep their IM client open whenever they’re on the computer, and it seems to me that a chat room is extraneous. I could be wrong – throughout the day today I kept seeing Vincent on my site, and several times I felt the urge to tell him I was working on such-and-such, or to kid him about looking over my shoulder, and I only had the options of posting a comment or contacting him through email. I guess there’s been many times I saw someone on my site and wanted to say something to them and didn’t even have their email. Unfortunately, a PHP controlled, database rooted, dynamically-generated website relies on the visitor either refreshing the page or clicking on a link to another site page to get new information. It’s kind of hard to shoot them a message that way.
I guess I sound like I’m trying to talk myself out of this, but that’s not what I mean. There are still plenty of technical challenges and learning experiences waiting for a project like this. But no matter how perfectly I could design, code and implement this, it would mean nothing if it relied on a premise that was unsupportable. You would end up with a feature that showed yourself, maybe one or two groupies, and a whole lot of Guests, even when you had high traffic. Although that might be ego-stroking for the blogger, it’s not really different, other than in style, than the existing plugin.
Posted by Greg as Politics, Programming, Society at 12:11 PST
5 Comments »
Vincent, I see you checking in on me! I’m working on it!
This evening I printed out the code and followed it step by step. I can see that, although I have learned from the way the author wrote the plugin, I would do it sort of differently. Things are complicated by the matter of copyright issues. Although the WordPress codex states that “any license you choose to use must be compatible with the GPL“, the author made no reference to the GPL and explicitly retained copyright in one of his files. This means I can’t publish my modified files. However, I’m going to take a chance and write and publish a howto for modifying the original files, and we’ll let the lawyers work it out. When I get the time, I’ll start on a new plugin from scratch that I will publish under the GPL.
So, back to work. I want to get this out.
Posted by Greg as Programming at 12:06 PST
3 Comments »