GAURAV KUMAR

Showing posts with label linux. Show all posts
Showing posts with label linux. Show all posts

Friday, July 26, 2013

Communicate with an unknown usb serial device in linux

Hi all,
Recently I was trying to work with a 2D barcode scanner which was told to work as serial data device. When I inserted it in my linux system, there was nothing like a serial port or something in my "/dev" list. When I searched with the model number, I found nothing relevant to make it work. Usually it is suspected that the driver is not present in the system. I was really frustrated at that time since there was no lead and it had to be done soon. The material came with no driver. When I saw the syslog, it showed some path related to the device inserted. There I found information about the manufacturer and googled it which led me to a website where I found windows7 driver of this device. It felt like I was halfway there. I quickly downloaded the driver, installed and run it. And yes, I was able to view serial data after scanning 2D barcodes. But this wasn't it. It had to work on a linux system too.

As I tried to know more about the problem, I learned that there is a way. Writing a udev rule to control the usb device sounded like a cool thing to do. But the thing is, I had never written a udev rule and I was anxious to make the device work. So I kept searching around a bit and found something that said an unknown usb serial device can be recognized by the system if we load the kernel device driver with the product id and vendor id of the device. Finding product id and vendor id was easy. It is printed by "lsusb" command. So I gave it a try.

modprobe usbserial vendor=0x1eab product=0x0d02

I saw "dmesg" and there it was. the device was recognized as a serial device and found as /dev/ttyUSB0 .

Lesson: An unknown serial usb device doesn't need any extra driver but the usual usbserial driver can be used to register it in the linux kernel.

Sunday, April 24, 2011

Rename multiple files with bash script

Hi there,
Recently I came up with a problem related to filename of downloaded files.In my college I use DC(Direct Connect) client to download files from other peers.Recently I downloaded a large number of music videos which remained in temporary directory and did not move to music directory.Although It downloaded completely, It remained in temporary directory and hence name of files was in the format "filename.(avi/mpg/flv etc.).(some chars).dctmp". So I had to rename them.Definitely, I couldn't do it manually as there were more than 1000 files.Hence I tried to write a bash script for renaming all of them at once.
Initially I tried to store the filename as "*.*.dctmp" in which I would trim the "*.dctmp" part.Hence the remaining part would the desired filename(with proper externsion).But storing the filename like that did not work out.
Then I saw that in temp files, there is a common pattern that before "dctmp" extension, there are exactly 39 chars. Then I tried a different method of trimming filename which is explained below with code.


code :

for i in *.dctmp
do
len="${#i}" ;
let len-=46
#echo "$len";
name="${i:0:len}" ;
#echo "$name"
mv "$i" "$name" ;
done

save it with name.sh and run "bash name.sh" on terminal.The script should be run in the same directory in which temp files are present.

e.g. Guns N' Roses - Welcome To The
jungle.mpg.47IMRQGAGFWOA7GMLZTK3X6QFIGR4P4EKHDRHKI.dctmp
became Guns N' Roses - Welcome To The Jungle.mpg

Worked on ubuntu 10.10

Monday, March 21, 2011

password reset from shadow file in ubuntu 10.10

Hi,
Recently I was trying to write a script for changing password automatically for a user.I required something else for this but I found one similar script while searching over Internet.While I was experimenting with this on my ubuntu 10.10 system, I did a terrible mistake.At the place of username, I put my main account username.Not only this,I used "pwgen" program to generate random password which was there in the script and I blindly used it.

The script I used is below:-

touch pass.txt
chmod 600 pass.txt

# generate a nice secure password and put it in a file
pwgen > pass.txt

# get the password hash
ph=$(makepasswd --clearfrom=pass.txt --crypt-md5 |awk '{print $2}')

# Set the password
usermod -p $ph "username"


Now, first time I used it using sudo, It asked for password.Now this script randomly generated a new passowrd and set for my account.Now, a new password was hashed in /etc/shadow file which I didn't know.Next time, when I used it again,it asked for password which was changed randomly.So,I could not give correct password.


Now, I thought how would I login after next reboot.I asked someone who told me to use a live cd of ubuntu to change shadow file.In shadow file, password is stored encrypted corresponding to each username.Now, I was preparing for a back up.Still, I wasn't sure it will work.

When I rebooted,something clicked in my mind.I booted in recovery mode.Then using root shell, I opened /etc/shadow file.Usually it opens in read-only mode.But since I was root that time, I removed the hash of my username.I removed everything that was there between first 2 colon(:). I did it only for my username and root.Hence, password was omitted.Now I reboot again and reset the password using passwd command and it didn't ask for current password.I didn't know that we could reset our password in recovery mode.

I knew that this similar method worked in ubuntu 8.04. But I thought they removed this as a bug.Now it worked for me.I can't decide if it is a good or bad thing.Since I changed my password in emergency,It is cool. But someone else can access my account by resetting my password.

Monday, November 22, 2010

facemash experience "the social network"

hello people,
I have been constantly watching and listening "The Social Network" since the time I first watched it.Awesome movie.very inspirational.Well,I too thought about writing facemash after watching this.But,I did not want to end up facing punishment like mark.So, I didn't try to insult anyone.Just experiment and wanted to refresh my php and mysql concepts.


What we need is collection of some images.put it in a directory and provide its path in the code.for this example I will use "pics" as directory which has 7 images.Now write one php script to display 2 images randomly and let user click on any of this.Now,one more script to check which image was clicked and calculate the new rank of both image.I am sharing a piece of code here.

require_once("sql.php"); //sql.php connects to the database.
srand(time());
$r1 = rand()%7;
srand(time());
$r2 = rand()%7 ;
while($r1 == $r2)
{
srand(time()) ;
$r2 = rand()%7 ;
}
$query1 = "SELECT * FROM pic WHERE picid = '$r1'";
$result1 = mysql_query($query1);
$row1 = mysql_fetch_array($result1);
$query2 = "SELECT * FROM pic WHERE picid = '$r2'";
$result2 = mysql_query($query2);
$row2 = mysql_fetch_array($result2);
$pic1 = $row1['pic'] ;
$pic2 = $row2['pic'] ;

give image with its link in the html part of the code href='mash.php?id1=$r1&id2=$r2' img src=pics/".$pic1


href='mash.php?id1=$r2&id2=$r1'img src=pics/".$pic2


now when this page redirects to mash.php,new rank of both images is calculated based on the algorithm you wanna use.here, we have defined 3 variables.'h' is no. of hit on the image,'d' no. of times the image has been displayed.'rank' shows point given to image.use get method to catch variables to update database containing no. of hits of an image.
$id1 = $_GET['id1'];
$id2 = $_GET['id2'];

$query1 = "SELECT * FROM pic WHERE picid = '$id1'";
$result1 = mysql_query($query1);
$row1 = mysql_fetch_array($result1);
$query2 = "SELECT * FROM pic WHERE picid = '$id2'";
$result2 = mysql_query($query2);
$row2 = mysql_fetch_array($result2);

$h1 = $row1['h']+1;
$d1 = $row1['d']+1;
$rank1 = [algo to calculate new rank];

$h2 = $row2['h']; // no. of hit remains same for the image not clicked.
$d2 = $row2['d']+1;
$rank2 = [algo to calculate new rank] ;

$res1 = mysql_query("UPDATE pic SET h='$h1',d='$d1',rank='$rank1' WHERE picid='$id1' ") ;
$res2 = mysql_query("UPDATE pic SET h='$h2',d='$d2',rank='$rank2' WHERE picid='$id2' ") ;


So,this was my experience.Worked without any problem.See ya.

Thursday, September 2, 2010

UNSUCCESSFUL UBUNTU KERNEL UPGRADE TO 2.6.32-24


Hi all,
Just a month before 10.10 release,ubuntu 10.04 has created a problem for me.This post is more like a problem statement because I haven't figured out the solution yet.Last night I was upgrading my kernel to 2.6.32-24.After that my network manager was not running.I thought something was wrong with upgrade.So I rebooted and was shocked when I saw the grub menu.Previously, Grub menu used to show kernel versions 2.6.32-21, 2.6.32-22, 2.6.32-23 and their recovery options.Out of that 2.6.32-23 could not be used to boot.So,I used to boot through 22.But now,I could see only 23 and my system did not boot.when i tried to edit this option(generic kernel 2.6.32-23 in grub menu screen), I got first line as recordfail as shown in above image.

Then I tried to search on internet but found nothing important.Tried live cd of ubuntu 9.04 and tried to reinstall kernel.tried "sudo update-grub" and also grub-pc.Then checked /usr/src of 10.04 where I saw all previous kernel images along with 2.6.32-24.Now it looks like latest kernel couldn't be written but previous images were removed and only remained kernel is corrupt.So,I am not able to boot into ubuntu. Right now only solution is to reinstall 10.04.hoping a better solution from someone.

Monday, May 3, 2010

Download speed through apt-cacher and dependency problem with downloading so many packages at a time








hi,
I am not able to stop experimenting with ubuntu lucid lynx the time I installed it.With the apt-cacher,it's easy to download all the packages that you like.So,I was there with synaptic package manager and kept on selecting large number of packages.Finally I got a collection of 148 packages with 220 MB size.When I started to download,I saw variation of speed which is very common but I would like to point it out by some snap-shots.
1st picture shows the usual speed of download through apt-cacher which is 347 KB/s.2nd one shows unusual high speed 2843 KB/s.











But sometime we suffer low speed also.Just like this.


Now,apart from speed,there is one more thing that I would like to share.Since I selected a lot of packages and started downloading all,I got some installation problem.All the packages were downloaded but couldn't be installed properly.Very less packages were installed because of dependency problem.No idea how did it happen.Probably,when there is a huge number of packages ,some of them might have dependency due to others files in the download list.So,in my view,large number of packages should not be installed at a time.

By the way, I sent these dependencies report to developers officially.Here is one screen-shot which explains it.


Conclusion :- try installing less number of packages at a time.

Saturday, May 1, 2010

performance review of ubuntu 10.04 lucid lynx

hello friends,
Ubuntu launched its Final release of lucid lynx 10.04 just 2 days before and I couldn't stop trying it as soon as I could.Reason is not that I was waiting eagerly for its final release.Real reason is that I had done some mistake in hard disk partition while installing slackware which caused me loss of linuxmint which I was using for a very long time.So, finally I thought to try fresh and final release of 10.04.
oh boy,What an OS.Surprisingly it can be called as the perfect OS.Lookwise,it has got better.Also,the most exciting feature is its boot time.Amazing boot time must have impressed everyone.Shutdown time is also faster.This has got attention of some people who are claiming that skipping disk check can also reduce boot time.Anyway,I don't want to create any controversy here.
Talking about look,It gives a sight of mac.The minimize, maximize and close buttons of window is on the left side which gives you feeling of working on mac.Anyway that feature was available previously also but not as default(a package "mac4lin" changes the look in that manner).New Gwibber social client is also very exciting.Gwibber can be configured to broadcast status on facebook,twitter etc. and to see other's status.
Recently "ubuntu tweak" became my latest crush as It has got nice and sexy packages which synaptic package manager didn't let me try directly.visit ubuntu-tweak.com for more info about tweak.As I am in a university which does not provide with a superfast internet connection but allows downloading packages with apt-cacher,I couldn't stop downloading all the packages which caught my attention.Well,It's definitely wastage of resource.
In final words,ubuntu 10.04 is just lovable and awesome and great experience so far.Don't know how soon the bugs will come out.Till then,enjoy lucid lynx.Happy open source.

Saturday, April 10, 2010

GPG public key

Hi,
As I was searching why my gpg public key is not working,I suddenly found answer.Actually gpg public key contains some extra words also which I neglected.public key can be viewed in terminal by typing :

gpg --armor --export [your public key id]

Now complete output is the public gpg key including "-----BEGIN PGP PUBLIC KEY BLOCK-----" and "-----END PGP PUBLIC KEY BLOCK-----".Initially I was taking only middle part.One more thing public key requires public key id which can be viewed by typing "gpg --list-keys". The pub part shows id.This command displays whole list of keys.So, if someone has made more than one key pairs,then it is useful to see which public key is for which public key id.As I successfully generated my public key, I am going to share it. It is right below :-

-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.9 (GNU/Linux)

mQGiBEu+azsRBACGVGTbi3GHDKa8rkzOWP8lQYg0omH6mU5tIHe+0fLiTMRzbr1o
/lTT2w+GksRhziWL03+zTc36R/gNAPJvp8djhaeDpYD0DCh1JuFNLPAZWVMQ1TJf
INgQ59KoBr/sWHWa0DXTFoTK1o/0wLsUioH54nN4rfxsPQgKMA5f/FYEzwCgitK5
WeQWsm8RMkZURaROcq7kHE0D/0GsXazBA0n+iQFVbbjblOpzs0/nvJfnEWKEbyCv
e9NUrbNqvttA501uy+VeIlMIbVzIOHAMeIpgWMT+z6vVYcBmKrZGCRv0i9gBzrd/
8HVWbVrZDwz7Mk076f/1wo5iLv9OP657O6i3B4F/1fiBmJubTQkXgL5nKwu1iQvj
wTfDBACAcLMha0rBLji4l3MCHpwYVb/vCs1OsGWmDlRElkST6zqv8bg9/O2AZqgE
fewe8ZqcYyRMlElsoqXlL0z+JZykCp4QUGwajB/oWCdecFK09uOU518Os90wLjro
LvAZmebkmoR2gsy3J9QBar7Lp63Y1AfxZGiCQU9/a5+0OIGCbrQ6Z2F1cmF2IGt1
bWFyIHlhZGF2IChlbmNyeXB0aW9uKSA8Z2F1cmF2a3VtYXI1NTJAZ21haWwuY29t
PohgBBMRAgAgBQJLvms7AhsDBgsJCAcDAgQVAggDBBYCAwECHgECF4AACgkQdFo6
7FlOrR11+gCbBsVq1jpmwo1JE10bcO5UEWySlRkAn0JuAhWtePIR8pK14NasjSNO
xDg8uQINBEu+azsQCACLKpR8orOIiaooO+fI2IEVFL8Qb+s/9/dfx/asMoBB2bAS
IhpNt6N65a3MtMhDeIZcfafwtpgjxJAuxp1iwWpbEyj2vDWcZ5xpnf3N3hrb8wm9
eBpGnGj7ugETBgNZ/G3aQJsljv6Ze+Ys83wQ20mdXTTIg3Yc/bzlohE0Itl3JgMW
BioI13pxXcWgxcPMBBeeoL0bBGCQOhjCTckjVjoJTrHxXvxqembTeUQ8wG6tnLj7
HIMOtKp9usF83H0qvDhiYjGJ7xI5KplJXyEw9+T1afrHY7KcggMmwOdHvuTrKI62
XIpX3eVFu7zDh5cA7tMtbErSpSZxhskPNPYpQYKzAAMFCACCUEAJHO9FHL9zq7fR
GNcx5o4TaNsplBpq42zFnd14pq1ftxr5SfUVn6ciPVkGnj9v5LVOxib0SJCgcDCw
mGkQ5SmD3XCq/KDqjSlFYacLJOIH/sKMWmkLrF7Nv5o0VrQbSdzPCCWCbNsiFoad
Zb5bGXtOrg2nLj6uIUe5ZM3EUJr/iMFRhZ9Xk4ETTsqyD95yfdM8y+Djnri3bdTg
eL3QriiZu3k0CJGcBu/lYWcVR7wseIUa7LYsLuGhzH3zyFuZHw8NqUls4H7UQel1
dMut5SGo6Ksn0n9UwyKzUe+Eir49efX+gMivn+ttupOZ2t7OcCH6IaCr0Y6E1Iz6
BCveiEkEGBECAAkFAku+azsCGwwACgkQdFo67FlOrR0zFACfdSLkUkkvO++A6XyH
2ItqsnYVgCQAn0iB1mZ1eI7xuUyR6y+teREIc4Bf
=+Uo3

-----END PGP PUBLIC KEY BLOCK-----



And Now I am working on sending a mail with encryption by my private key.Hope,It works.

Thursday, April 8, 2010

GPG encryption

recently I came to know about GPG encryption.It means Gnu Privacy Guard.GPG is a command line tool with features for easy integration with other applications also.GPG is mostly used for secure communication and storing data in encrypted form.There are other uses also which I am not discussing right now.

Actually when I was filling a form for account in a site,I was asked for pgp/gpg public key and then I started wandering around to search for it.It is open source and mostly used in command line which I like.There is a windows version of it also.There are so many online pages with uncountable words for its description that I got confused sometime.But finally I figured out the theory behind it.It is like this.

There are 2 type of keys generated by gpg.One is public and another is private.Public keys can be distributed to your friends and published anywhere.With public gpg keys someone can encrypt the message and send it to you.Now, to decrypt it we need the private key which is only with you.So this way emails can be securely sent.Even if somebody sniffs the mail in the middle,It will be secure because the attacker will not have the private key to decrypt it.To create your own key pair just type gpg --gen-key in command line and follow rest instruction(You will mostly choose default values).This way you can export your public keys.But unfortunately my public keys are not working for no reason.I am still looking for answer.


But I did use gpg encryption to my file which is very easy to use and fun to watch.I am going to show what exactly I did.In the terminal just make a simple file. e.g

$ echo "my first encryption" >gen hit enter

$ gpg -e gen it will ask for user ID,use your own user ID

And done! Now hit terminal with ls command and see that there is another file named gen.gpg which is encrypted.Now If you deleted old file named gen then the content can only be viewed by opening gen.gpg which needs password.To decrypt it,put gpg -d gen.gpg in command line and hit enter.Now it will ask for the passphrase which is confidential and it makes the file secure.

Wednesday, November 11, 2009

ubuntu 9.10 karmic koala performance on Deepak's Laptop

hello friends,
today i saw the performance of ubuntu 9.10(karmic koala).I didn't install it but my friend did in front of me.He had ubuntu 9.04 installed, so he tried to upgrade to 9.10 instead of installing.So, he made bootable USB of alternate disk.But, sadly we couldn't upgrade it.instead,we had installed 9.10 into separate partition. now he had 3 OS.
Finally we started testing it.First we tried to use pidgin client which wasn't there and we saw empathy.Empathy has become default IM client now in ubuntu.Still we downloaded pidgin and run.well, empathy is good change, i must say.Next we tried DC client and it was okay okay.And then accidently we removed open office for which he was blaming me. But I was only trying to install vlc.
Most of the things are same and it is showing different performance on different laptops.on acer laptop,my one friend could not use it and on dell studio it has graphics problem.Browsing is as fast as usual.one more new thing that i saw was,it asked for internet connection settings before installation which was optional. Rest,everything was good but not much impressive.I still think linuxmint is better option.May be, i should wait for sometime to be more sure.

Wednesday, November 4, 2009

linux mint experience

hello friends,

i recently tried windows7 RC version and ubuntu 9.04 jaunty.previously i had windows vista and ubuntu 8.10.So i thought to upgrade ubuntu as i liked it so much.on the other hand,vista compelled me to replace it.so i switched to windows7.definitely it was faster than vista but certainly not stable enough to impress.well, i am not professional in this field to judge accurately but i am interested in trying different and new and efficient products.
It is just a week ago that ubuntu has released its 9.10 karmic alpha version.So, my friends have downloaded it and some have started using this while i am still waiting for its stable version.Last night when i thought to try a new distro of linux, I tried to surf our college website bitsfoss which is a repository of open source stuffs.I downloaded linux mint 7 gloria.I put this in USB and made it bootable through ubuntu's cool application "start up disk".

Finally I used mint as live cd and it was awesome.I just loved it.the display is undoubtedly better than ubuntu.since i have just tried it,i can't say more. But if anybody is really interested,one can visit here.

Now that ubuntu has released its alpha3 of karmic koala, I am excited to compare with it.But first I should wait for its final release.

if anybody reads it, i would ask them to vote for either mint7 or ubuntu9.10 in comment.

Thursday, July 23, 2009

symbolic link(linux) Virus Incident

hello friends,
today I would like to discuss a very simple topic related to linux and how it bothered me.recently I was working with linux trying to learn "symbolic links".Symbolic link is a special file which points to another file in the system.it is similar to shortcut in windows.

if you give the command ls -l in your terminal then you can view link files.if output starts with l then it's symbolic link.now,to create a symbolic link we have to use "ln" command with -s option."ln" is for link and "-s" is for symbolic option.syntex is like this ln -s source destination.

now, source means the path of file or directory where it originally is. and destination means the path where you want the link to be.you have to specify the name of link and this should not exist in system otherwise it will give error.

But I did something which I forgot later.I made a symbolic link by typing this ln -s /home/gaurav /home/gaurav/h. since every file of linux was in "gaurav" folder ,when i went in "h" folder inside "gaurav",i found all the files again in this folder including "h".when i again double-clicked "h" it took me to same folder which contained all files including "h".I didn't remember about symbolic links and instantly I was worried that there is some virus in my system.I had heard earlier that there is a virus which creates a folder in each folder including itself.

after some days when I opened shell and typed ls -l, I found "h" showing l which means it's a link only.then i was relieved and deleted this. then I typed ln -s /home/gaurav/videos/jal.mp4 /home/gaurav/Desktop/jal. by this I am able to view this video directly through desktop. I need not go anywhere.and this is done without copying the video or without "cut and paste" from its original destination.

this was a new thing for me.so, I thought it would be good to share this.May be someone new like me would get help from this.But , if you are master of shell, you may laugh at me.


thanks everybody to read this post.

Tuesday, July 14, 2009

restoring grub menu

hi people,
finally pushed myself to write one about a technical issue. recently ,I reinstalled windows vista successfully but after restart i didn't see any grub menu to boot linux(ubuntu).At that instant, i was shocked as i thought linux was gone.Since vista had overwtitten the mbr so it used to boot vista directly.I tried to restore grub menu through a live cd of linux which is done through typing some commands in terminal.Basically, anybody can copy those commands from www.ubuntuforums.org . But those commands were useless for my system as the "stage1" file was washed away from grub folder.finally,i downloaded an iso image of "super grub disk" and made a cd. then i booted through that cd and everything started working fine.when i saw grub menu again, i was so happy.