Login [Register]
Don't have an account? Register now to chat, post, use our tools, and much more.
Looks like you have a couple questions here. I'll try to address them in order..
zero wrote:
Because of the reason that I got the error "uknown parameter 'vendor' " I thought I could not add the generic usb serial support. (Please warn me if this error is not about generic usb serial support or if I had to add something more to the kernel.) Is there a command to check if I could successfully added generic usb serial support?
Your module appears to be doing something unusual. It's loading, but not recognizing the vendor parameter for some reason. You can check the details of a module with the 'modinfo' utility. Here's a what a Debian system I have here says about usbserial:
Code:
[tari@osiris]$ sudo modinfo usbserial
filename:       /lib/modules/2.6.32-5-686-bigmem/kernel/drivers/usb/serial/usbserial.ko
license:        GPL
description:    USB Serial Driver core
author:         Greg Kroah-Hartman, greg@kroah.com, http://www.kroah.com/linux/
depends:        usbcore
vermagic:       2.6.32-5-686-bigmem SMP mod_unload modversions 686
parm:           vendor:User specified USB idVendor (ushort)
parm:           product:User specified USB idProduct (ushort)
parm:           debug:Debug enabled or not (bool)
You should point it at your usbserial module and ensure it looks something like that (I tested loading it with the parameters you gave and it worked fine).

zero wrote:
Because I though that the problem was related to generic usb serial support I tried to recompile my kernel by using OE and following your guidline, now how I am going to copy this (only the new compiled kernel) to my microSD card?
I wouldn't do that, because Kerm's a silly person who uses Angstrom. I've no idea what exactly OE does, but I doubt it's compatible with what Ubuntu expects (Ubuntu being what you appear to be running).

zero wrote:
edit: Also is there a way that I only compile the generic.c and attach the .ko file to my existing kernel? If yes, how can I do it?
You're on the right track now. It's much easier to build a single module than the entire kernel image. Documentation on the kernel build system is a bit sparse, but it's quite easy once you know how. What follows is what I do to build one of my own out-of-tree modules.

First, I have a Makefile and my module source in one directory. Something like this:

Code:
g_hid/
  Makefile
  g_hid_mitm.c

Then in order to actually build the module (.ko), you need kernel headers. On my Beaglebone (running Arch Linux Arm rather than Ubuntu or Angstrom), those are provided by the linux-headers-am33x package. You'll have to do some investigation to find the right package for Ubuntu, since I don't know what it is offhand. It's important to use the kernel headers that match the kernel you're running (and thus use your distribution's headers pacakge), because modules contain version information that tie them to the kernel they were built against.

With the kernel headers in place, you just need to invoke the kernel makefile that's provided with the headers and specify what you want to build. In my case, from the directory containing my Makefile and source code:

Code:
make -C /lib/modules/`uname -r`/build M=`pwd` modules

That will build modules in your working directory, eventually emitting the .ko file. In my case, I get a g_hid_mitm.ko file, which can then be loaded with insmod. The exact location of the build scripts may differ from that I use above (I know it'll sometimes be in /usr/lib/modules, for example).
Tari, thank you so much for your reply to my question. I am full of gratitude. Now, I will try to compile only the usbserial module and to attach it to my existing kernel.

By the way here is my usbserial module's info. Do you see anything crucially wrong?


Code:
root@beaglebone:~# modinfo usbserial
filename:       /lib/modules/3.2.21/kernel/drivers/usb/serial/usbserial.ko
license:        GPL
description:    USB Serial Driver core
author:         Greg Kroah-Hartman, greg@kroah.com, http://www.kroah.com/linux/
depends:       
intree:         Y
vermagic:       3.2.21 mod_unload modversions ARMv7 thumb2 p2v8
parm:           debug:Debug enabled or not (bool)
Looking at the source, it looks like your kernel wasn't built with CONFIG_USB_SERIAL_GENERIC.
A quick grep for that symbol indicates that if you define CONFIG_USB_SERIAL_GENERIC="y" and rebuild the usbserial module, you should be good to go. I'm not sure how exactly to go about tweaking that though- you may need to jump through all the hoops of building a fresh kernel.
At least with Angstrom, I found that the OpenEmbedded kernel header package was super-broken. I originally tried to compile a module on the Beaglebone itself, and ran into problem after problem before finally throwing up my hands and using the bitbake/OE system to build a new kernel (including my module) from scratch.
This time, I used bitbake (decided give Angstrom a try) to build my kernel. I did the required changes in the menuconfig and then run compile kernel. But:


| CC net/ipv4/tcp_diag.o
| CC net/iERROR: Function failed: do_compile (see /home/zero/oe/setup-scripts/build/tmp-angstrom_v2012_05-eglibc/work/beaglebone-angstrom-linux-gnueabi/linux-ti33x-psp-3.2.18-r12i+gitr720e07b4c1f687b61b147b31c698cb6816d72f01/temp/log.do_compile.4414 for further information)
| pv4/tcp_cubic.o
| LD net/key/built-in.o



NOTE: package linux-ti33x-psp-3.2.18-r12i+gitr720e07b4c1f687b61b147b31c698cb6816d72f01: task do_compile: Failed
ERROR: Task 6 (/home/zero/oe/setup-scripts/sources/meta-ti/recipes-kernel/linux/linux-ti33x-psp_3.2.bb, do_compile) failed with exit code '1'
NOTE: Tasks Summary: Attempted 320 tasks of which 317 didn't need to be rerun and 1 failed.

Summary: 1 task failed:
/home/zero/oe/setup-scripts/sources/meta-ti/recipes-kernel/linux/linux-ti33x-psp_3.2.bb, do_compile
Summary: There were 3 WARNING messages shown.
Summary: There was 1 ERROR message shown, returning a non-zero exit code.

I used github to get the scripts and did not make any changes other than the changes I made at the menuconfig?
Please take a look at the log.do_compile.4414 file that it mentions and let us know what the issue it reported was (Pastebin it if it's a long file). I recall having to fix a few issues myself before it would compile.
*bump* Note to self: if and when I circle back to this project, take a look at this driver from TI, if I haven't already:
http://processors.wiki.ti.com/index.php/OMAP-L137/DA830_Linux_LCD_driver
*bump bump* More notes to self:
- To patch current Angstrom distro for Beaglebone with my 0041 SSD1289 patch, need to comment out five patches in setup-scripts/sources/meta-ti/recipes-kernel/linux/linux-ti33x-psp_3.2.bb:

Code:
        #file://beaglebone/0045-beaglebone-allow-capes-to-disable-w1-gpio.patch \
        #file://beaglebone/0059-beaglebone-fix-pin-free-thinko-this-method-doesn-t-g.patch \
        #file://beaglebone/0064-beaglebone-always-execute-the-pin-free-checks.patch \
        #file://beaglebone/0082-beaglebone-add-rudimentary-support-for-eMMC-cape.patch \
        #file://beaglebone/0086-board-am335xevm-Add-Beaglebone-Motor-Cape-Support.patch \

- With those commented out, must comment out line 3248 in am335xevm.c, namely

Code:
beaglebone_w1gpio_free = 0;
Hi KermMartian
Its good knowledge sharing.

As per documentation you did wiring as bellow:
LCD D0-D15: 16 bits of data/address lines
LCD_VSYNC -> RS (also called Command/Data or CD or Address/Data; NOT reset)
LCD_HSYNC -> Write-bar
LCD_PCLK -> Read-bar
LCD_AC_ENB_CS -> Chip Select 0
LCD_MCLK -> Chip Select 1

My LCD controller and LCD almost same, But in My LCD there is no pin named "Chip Select 1" How can I connect LCD_MCLK pin ?

LCD pins are shown in following link:
http://www.electrodragon.com/w/images/1/16/Itdb02-pins1.png

Thanks,
Jignesh[/img]
Jignesh: Welcome to Cemetech. I believe that the "CS" line is your Chip Select pin.
Thanks KermMartian for prompt response,

Which line of processor should I connect to LCD "CS" line ( either LCD_AC_ENB_CS or LCD_MCLK) ?

Because that LCD having single "CS" line.

Thanks,
Jignesh
Ahh, I see your point. I believe you can just leave it unconnected, at least for the way my drivers work.
Hello.
I am working right now with Beaglebone in IAR IDE. and i want to use ARM Cortex A8 just like any other ARM Cortex M4 ( i mean only my program is working on processor, no linux or other RTOS)
In mather of hours i was able to connect SSD1963 controlled LCD by using two porst for data , and other ports for I80 buss control lines.
Problem is that gpio toggle speed with 1.3GHz overclocking is only 3.3MHz, and my arm cortex m4 can do 125MHz gpio toggle running 250Mhz.
So i decided to use LIDD mode, but i have no idea how to configure all data and control lines, right now i don't need DMA, just to be able to write data/command via LIDD mode and get at least 60FPS
I know that with FSMC my stm32F4 can push 300FPS to GRAM, and i get 60FPS from my LCD with Beaglebone.
Here is some results with my slow connection program:
Impressive program! Is the slowdown there (ie, the scanning refresh) the speed of the Mandlebrot program or the display driver? I suspect the former, as the slowdown seems to change as you zoom in. Since I suspect the SSD1963 is very similar to the SSD1289, would you consider trying to use my driver, modified to work for your display?
i am using paint to GRAM function , so i don't need to redefine coordination for pixel in that case i get best speed.
Yes, this is due to calculation of lot of iteration ( i use 256 iteration for one pixel )
in my youtube channel you can find video how Beaglebone stacks against stm32f4 which use FSMC controller capable 300FPS SSD1963 GRAM
Right now i get around ~10FPS to LCD
no, i don't know how to use you code in IAR, trying to do that right now, i hope you used same libraries as IAR have
Kerm, this may be of interest to you with relation to your work here.
https://patchwork.kernel.org/patch/1876741/

This patch apparently sets up DRM/KMS for the AM335x controller allowing you to use xf86-video-kms for X which also allows you to use xrandr for mode setting and the like.

KMS also means you should be able to get Wayland/Weston working on there if you desire.
Hello! I tried to patch my kernel with your patch and i have one problem:

root@beaglebone:/usr# patch -p1 -i /usr/0041-beaglebone-add-ssd1289-support.patch
can't find file to patch at input line 3
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|--- /arch/arm/mach-omap2/board-am335xevm.c 2012-05-17 14:52:55.654937078 +0000
|+++ /arch/arm/mach-omap2/board-am335xevm.c 2012-05-13 20:40:20.044145349 +0000
--------------------------

What's wrong?
i have:
Distributor ID: Angstrom
Description: Angstrom GNU/Linux v2012.05 (Core edition)
Release: v2012.05
Codename: Core edition
skatanik wrote:
Hello! I tried to patch my kernel with your patch and i have one problem:

root@beaglebone:/usr# patch -p1 -i /usr/0041-beaglebone-add-ssd1289-support.patch
can't find file to patch at input line 3
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|--- /arch/arm/mach-omap2/board-am335xevm.c 2012-05-17 14:52:55.654937078 +0000
|+++ /arch/arm/mach-omap2/board-am335xevm.c 2012-05-13 20:40:20.044145349 +0000
--------------------------

What's wrong?
i have:
Distributor ID: Angstrom
Description: Angstrom GNU/Linux v2012.05 (Core edition)
Release: v2012.05
Codename: Core edition
Did you read the readme? Try the other patch, perhaps.
Code:
0031-beaglebone-add-ssd1289-support.patch : For early 2012_05
    versions of Angstrom.
   
0041-beaglebone-add-ssd1289-support.patch : For late 2012_05
    versions of Angstrom.
i tried second patch and i had the same error:

root@beaglebone:/usr# patch -p1 -i /usr/0031-beaglebone-add-ssd1289-support.patch
can't find file to patch at input line 3
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|--- ../setup-scripts/build/tmp-angstrom_v2012_05-eglibc/work/beaglebone-angstrom-linux-gnueabi/linux-ti33x-psp-3.2-r10d+gitre8004dad869568692ca2a45c04e8464ce48cc4d7/git/arch/arm/mach-omap2/board-am335xevm.c 2012-05-17 14:52:55.654937078 +0000
|+++ ../setup-scripts-new/build/tmp-angstrom_v2012_05-eglibc/work/beaglebone-angstrom-linux-gnueabi/linux-ti33x-psp-3.2-r10d+gitre8004dad869568692ca2a45c04e8464ce48cc4d7/git/arch/arm/mach-omap2/board-am335xevm.c 2012-05-13 20:40:20.044145349 +0000
--------------------------

maybe something wrong with my angstrom? or with me? =)
Wait, I just noticed that you're running this on your Beaglebone. This is a kernel patch, so you need to be somewhere near the bottom of your kernel sources directory to apply the patch. I used OEBB/Bitbake running on a separate computer.
  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 2 of 5
» All times are GMT - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Advertisement